「cpp/container/multimap/equal range」の版間の差分
提供: cppreference.com
(Import from dokuwiki) |
細 (1版:Import from Dokuwiki) |
2012年5月1日 (火) 04:09時点における版
Syntax:
#include <map> pair<iterator, iterator> equal_range( const key_type& key ); pair<const_iterator, const_iterator> equal_range( const key_type& key ) const;
equal_range()関数は、2つのイテレータを返します。一方は、キーを含む最初の要素を指し、もう一方はキーを含む最後の要素を指します。
たとえば、次のコードでは、不確定は入力ファイルの読み込み時に、マルチマップとstringとequal_range()関数を使っています。
multimap<string,pair<int,int> > input_config; // read configuration from file "input.conf" to input_config readConfigFile( input_config, "input.conf" ); pair<multimap<string,pair<int,int> >::iterator,multimap<string,pair<int,int> >::iterator> ii; multimap<string,pair<int,int> >::iterator i; ii = input_config.equal_range("key"); // keyboard key-bindings // we can iterate over a range just like with begin() and end() for( i = ii.first; i != ii.second; ++i ) { // add a key binding with this key and output bindkey(i->second.first, i->second.second); } ii = input_config.equal_range("joyb"); // joystick button key-bindings for( i = ii.first; i != ii.second; ++i ) { // add a key binding with this joystick button and output bindjoyb(i->second.first, i->second.second); }