ホーム | ブログ | C++辞典 | サイトマップ | FAQ | 掲示板 | リンク集
メイン・メニュー
インデックス
プログラミング
その他



&aname(for_each);
***for_each [#u090a93a]
各要素に対する処理

''形式''~
&nbsp; template<class InputIterator, class Funtion>~
&nbsp;&nbsp;&nbsp;&nbsp;Function [[''for_each''>#for_each]](InputIterator '''first''', InputIterator '''last''', Function '''f''');~

''[[引数]]''~
  '''first''':  先頭要素を指す InputIterator~
  '''last''':  終端要素の次を指す InputIterator~
  '''f''':  各要素に適用する処理~

''[[返却値]]''~
 '''f''' を返す。

''解説''~
 区間 ['''first''', '''last'''-1) の各[[反復子]] '''iter''' に対して、'''f'''(*'''iter''') を実行する。'''f''' が何らかの[[返却値]]を返す場合には、その値は単に無視される。

''計算量''~
 '''f''' がちょうど '''last''' - '''first''' 回適用される。


&aname(find);
***find [#rc9a4e7b]
[[値]]の探索

''形式''~
&nbsp; template<class InputIterator, class T>~
&nbsp;&nbsp;&nbsp;&nbsp;InputIterator [[''find''>#find]](InputIterator '''first''', InputIterator '''last''', const T& '''value''');~

''[[引数]]''~
  '''first''':  先頭要素を指す InputIterator~
  '''last''':  終端要素の次を指す InputIterator~
  '''value''':  探索対象の[[値]]。型 T は EqualityComparable~

''[[返却値]]''~
 探査に成功すれば検出位置を指す[[反復子]]を、失敗した場合は '''last''' を返す。

''解説''~
 区間 ['''first''', '''last''') の[[反復子]] '''iter''' であり、かつ *'''iter''' == '''value''' となる最初の要素を探索する。

''計算量''~
 *'''iter''' == '''value''' の評価を、多くとも '''last''' - '''first''' 回実行する。

''参照''~
→ [[find_if>#find_if]]

&aname(find_if);
***find_if [#i228852d]
条件に一致する要素の探索

''形式''~
&nbsp; template<class InputIterator, class Predicate>~
&nbsp;&nbsp;&nbsp;&nbsp;InputIterator [[''find_if''>#find_if]](InputIterator '''first''', InputIterator '''last''', Predicate '''pred''');~

''[[引数]]''~
  '''first''':  先頭要素を指す InputIterator~
  '''last''':  終端要素の次を指す InputIterator~
  '''pred''':  探索条件となる[[述語]]~

''[[返却値]]''~
 探査に成功すれば検出位置を指す[[反復子]]を、失敗した場合は '''last''' を返す。

''解説''~
 区間 ['''first''', '''last''') の[[反復子]] '''iter''' であり、かつ '''pred'''('''iter''') != false となる最初の要素を探索する。

''計算量''~
 [[述語]]の適応を、多くとも '''last''' - '''first''' 回実行する。

''参照''~
→ [[find>#find]]

&aname(find_end);
***find_end [#kb9c8797]
最後の部分列の探索

''形式''~
&nbsp; template<class [[ForwardIterator1>ForwardIterator]], class [[ForwardIterator2>ForwardIterator]]>~
&nbsp;&nbsp;&nbsp;&nbsp;ForwardIterator1 [[''find_end''>#find_end]](ForwardIterator1 '''first1''', ForwardIterator1 '''last1''',~
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ForwardIterator2 '''first2''', ForwardIterator2 '''last2''');~

&nbsp; template<class [[ForwardIterator1>ForwardIterator]], class [[ForwardIterator2>ForwardIterator]], ckass BinaryPredicate>~
&nbsp;&nbsp;&nbsp;&nbsp;ForwardIterator1 [[''find_end''>#find_end]](ForwardIterator1 '''first1''', ForwardIterator1 '''last1''',~
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ForwardIterator2 '''first2''', ForwardIterator2 '''last2''',~
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;BinaryPredicate '''pred''');~

''[[引数]]''~
  '''first1''':  探索対象となる列の先頭要素を指す ForwardIterator~
  '''last1''':  探索対象となる列の終端要素の次を指す ForwardIterator~
  '''first2''':  探索する部分列の先頭要素を指す ForwardIterator~
  '''last2''':  探索する部分列の終端要素の次を指す ForwardIterator~
  '''pred''':  [[述語]]~

''[[返却値]]''~
 探索に成功した場合、見つけた部分列の先頭要素を指す[[反復子]]を返す。失敗した場合には '''last1''' を返す。

''解説''~
 区間 ['''first1''', '''last1''' - ('''last2''' - '''first2''')) で定義される列から区間 ['''first2''', '''last2''') で定義される最後の部分列を探索する。具体的には、区間 ['''first1''', '''last1''' - ('''last2''' - '''first2''')) にある[[反復子]] '''iter''' および '''n''' < '''last2''' - '''first2''' である負でない '''n''' に対して、最初の形式では *('''iter''' + '''n''') == *('''first2''' + '''n''') が、2 番目の形式では '''pred'''(*('''iter''' + '''n'''), *('''first2''' + '''n''')) != false が成立する最後の '''iter''' を見つけ出す。

''計算量''~
 多くとも ('''last2''' - '''first2''')×('''last1''' - '''first1''' - ('''last2''' - '''first2''') + 1) 回比較または述語が適用が行われる。

''参照''~
→ [[serach>#search]]

&aname(find_first_of);
***find_first_of [#rb4923d6]
値集合のひとつに一致する要素の探索

''形式''~
&nbsp; template<class [[ForwardIterator1>ForwardIterator]], class [[ForwardIterator2>ForwardIterator]]>~
&nbsp;&nbsp;&nbsp;&nbsp;ForwardIterator1 [[''find_first_of''>#find_first_of]](ForwardIterator1 '''first1''', ForwardIterator1 '''last1''',~
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ForwardIterator2 '''first2''', ForwardIterator2 '''last2''');~

&nbsp; template<class [[ForwardIterator1>ForwardIterator]], class [[ForwardIterator2>ForwardIterator]], BinaryPredicate pred>~
&nbsp;&nbsp;&nbsp;&nbsp;ForwardIterator1 [[''find_first_of''>#find_first_of]](ForwardIterator1 '''first1''', ForwardIterator1 '''last1''',~
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ForwardIterator2 '''first2''', ForwardIterator2 '''last2''',~
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;BinaryPredicate '''pred''');~

''[[引数]]''~
  '''first1''':  探索対象となる列の先頭要素を指す ForwardIterator~
  '''last1''':  探索対象となる列の終端要素の次を指す ForwardIterator~
  '''first2''':  値集合の先頭要素を指す ForwardIterator~
  '''last2''':  値集合の終端要素の次を指す ForwardIterator~
  '''pred''':  [[述語]]~

''[[返却値]]''~
 値集合のひとつに一致する要素が見つかった場合には、その要素を指す[[反復子]]を返す。それ以外の場合には '''last1''' を返す。

''解説''~
 区間 ['''first1''', '''last1''') で定義される列から、区間 ['''first2''', '''last2''') で定義される値集合のひとつに一致する要素を探索する。具体的には、区間 ['''first1''', '''last1''') にある[[反復子]] '''iter1''' 
および区間 ['''first2''', '''last2''') にある反復子 '''iter2''' に対して、最初の形式では *'''iter1''' == *'''iter2''' が、2 番目の形式では '''pred'''(*'''iter1''', *'''iter2''') != false が成立する最初の '''iter1''' を見つける。

''計算量''~
 多くとも ('''last1''' - '''first1''')×('''last2''' - '''first2''') 回比較または述語の適用が行われる。

&aname(adjacent_find);
***adjacent_find [#t89f9836]
隣接する同値要素の探索

''形式''~
&nbsp; template<class ForwardIterator>~
&nbsp;&nbsp;&nbsp;&nbsp;ForwardIterator [[''adjacent_find''>#adjacent_find]](ForwardIterator '''first''', ForwardIterator '''last''');~

&nbsp; template<class ForwardIterator, class Predicate>~
&nbsp;&nbsp;&nbsp;&nbsp;ForwardIterator [[''adjacent_find''>#adjacent_find]](ForwardIterator '''first''', ForwardIterator '''last''',~ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Predicate '''pred''');~

''[[引数]]''~
  '''first''':  探索対象となる列の先頭要素を指す ForwardIterator~
  '''last''':  探索対象となる列の終端要素の次を指す ForwardIterator~
  '''pred''':  [[述語]]~

''[[返却値]]''~
 隣接する同値の要素が見つかった場合、その要素を指す[[反復子]]を、見つからなかった場合は '''last''' を返す。

''解説''~
 区間 ['''first''', '''last''') にある[[反復子]] '''iter''' および '''iter''' + 1 に対して、最初の形式では *'''iter''' == *('''iter''' + 1) が、2 番目の形式では '''pred'''(*'''iter''', *('''iter''' + 1)) が成立する最初の '''iter''' を見つける。

''計算量''~
 ちょうど [[find>#find]]('''find''', '''last''', '''value''') - '''first''' 回比較または述語の適用が行われる。

&aname(count);
***count [#w6ea6c93]
要素の個数

''形式''~
&nbsp; template<class InputIterator, class T>~
&nbsp;&nbsp;&nbsp;&nbsp;typename iterator_traits<InputIterator>::difference_type~
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[[''count''>#count]](InputIterator '''first''', InputIterator '''last''', const T& '''value''');~

''[[引数]]''~
  '''first''':  計数対象となる列の先頭要素を指す InputIterator~
  '''last''':  計数対象となる列の終端要素の次を指す InputIterator~
  '''value''':  計数の対象となる値。型 T は EqualityComparable~

''[[返却値]]''~
 計数した個数を返す。

''解説''~
 区間 ['''first''', '''last''') にある[[反復子]] '''iter''' に対して、*'''iter''' == '''value''' が成立する反復子の個数を数える。

''計算量''~
 ちょうど '''last''' - '''first''' 回比較が行われる。

''参照''~
→ [[count_if>#count_if]]

&aname(count_if);
***count_if [#ea7c8a8d]
条件が成立する要素の個数

''形式''~
&nbsp; template<class InputIterator, class Predicate>~
&nbsp;&nbsp;&nbsp;&nbsp;typename iterator_traits<InputIterator>::difference_type~
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[[''count_if''>#count_if]](InputIterator '''first''', InputIterator '''last''', Predicate '''pred''');~

''[[引数]]''~
  '''first''':  計数対象となる列の先頭要素を指す InputIterator~
  '''last''':  計数対象となる列の終端要素の次を指す InputIterator~
  '''pred''':  [[述語]]~

''[[返却値]]''~
 計数した個数を返す。

''解説''~
 区間 ['''first''', '''last''') にある[[反復子]] '''iter''' に対して、'''pred'''(*'''iter''', '''value''') != false が成立する反復子の個数を数える。

''計算量''~
 ちょうど '''last''' - '''first''' 回述語が適用される。

''参照''~
→ [[count>#count]]

&aname(mismatch);
***mismatch [#k04f1b1d]
不一致要素の探索

''形式''~
&nbsp; template<class [[InputIterator1>InputIterator]], class [[InputIterator2>InputIterator]]>~
&nbsp;&nbsp;&nbsp;&nbsp;pair<InputIterator1, InputIterator2>~
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[[''mismatch''>#mismatch]](InputIterator1 '''first1''', InputIterator1 '''last1''', InputIterator2 '''first2''');~

&nbsp; template<class [[InputIterator1>InputIterator]], class [[InputIterator2>InputIterator]], class Predicate>~
&nbsp;&nbsp;&nbsp;&nbsp;pair<InputIterator1, InputIterator2>~
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[[''mismatch''>#mismatch]](InputIterator1 '''first1''', InputIterator1 '''last1''', InputIterator2 '''first2''',~
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Predicate '''pred''');~

''[[引数]]''~
  '''first1''':  比較対象となる一方の列の先頭要素を指す InputIterator~
  '''last1''':  比較対象となる一方の列の終端要素の次を指す InputIterator~
  '''first2''':  比較対象となる他方の列の先頭要素を指す InputIterator~
  '''pred''':  [[述語]]~

''[[返却値]]''~
 不一致要素が見つかった場合、不一致要素を指す[[反復子]]の対を返す。不一致要素が見つからなければ それぞれの列の終端要素の次を指す反復子が格納される。

''解説''~
 区間 ['''first1''', '''last1''') で定義される列と区間 ['''first2''', '''first2''' + ('''last1''' - '''first1''')) の各要素を比較し、不一致要素を見つける。不一致要素が見つかった場合の[[返却値]]の .first は区間 ['''first1''', '''last1''') 側の、.second は区間 ['''first2''', '''first2''' + ('''last1''' - '''first1''')) 側の反復子が格納される。

''計算量''~
 多くとも '''last1''' - '''first1''' 回比較または述語の適用が行われる。

&aname(equal);
***equal [#x81cf4bd]
列の等価判定

''形式''~
&nbsp; template<class [[InputIterator1>InputIterator]], class [[InputIterator2>InputIterator]]>~
&nbsp;&nbsp;&nbsp;&nbsp;bool [[''equal''>#equal]](InputIterator1 '''first1''', InputIterator1 '''last1''', InputIterator2 '''first2''');~

&nbsp; template<class [[InputIterator1>InputIterator]], class [[InputIterator2>InputIterator]], Predicate pred>~
&nbsp;&nbsp;&nbsp;&nbsp;bool [[''equal''>#equal]](InputIterator1 '''first1''', InputIterator1 '''last1''', InputIterator2 '''first2''',~
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Predicate '''pred''');~

''[[引数]]''~
  '''first1''':  比較対象となる一方の列の先頭要素を指す InputIterator~
  '''last1''':  比較対象となる一方の列の終端要素の次を指す InputIterator~
  '''first2''':  比較対象となる他方の列の先頭要素を指す InputIterator~
  '''pred''':  [[述語]]

''[[返却値]]''~
 比較対象の 2 つの列が等価の場合は true を、そうでなければ false を返す。

''解説''~
 区間 ['''first1''', '''last1''') で定義される列と区間 ['''first2''', '''first2''' + ('''last1''' - '''first1''')) で定義される列の各要素を比較する。具体的には、区間 ['''first1''', '''last1''') にある[[反復子]] '''iter''' に対して、最初の形式の場合は *'''iter''' == *('''first2''' + ('''iter''' - '''first1''')) が、2 番目の形式の場合は '''pred'''(*'''iter''', *('''first2''' + ('''iter''' - '''first1'''))) が成立する場合に 2 つの列が等価であると判定される。

''計算量''~
 多くとも '''last1''' - '''first1''' 回比較または述語の適用が行われる。

&aname(search);
***search [#t07772e4]
部分列の探索

''形式''~
&nbsp; template<class [[ForwardIterator1>ForwardIterator]], class [[ForwardIterator2>ForwardIterator]]>~
&nbsp;&nbsp;&nbsp;&nbsp;ForwardIterator1 [[''search''>#search]](ForwardIterator1 '''first1''', ForwardIterator1 '''last1''',~
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ForwardIterator2 '''first2''', ForwardIterator2 '''last2''');~

&nbsp; template<class [[ForwardIterator1>ForwardIterator]], class [[ForwardIterator2>ForwardIterator]], class BinaryPredicate>~
&nbsp;&nbsp;&nbsp;&nbsp;ForwardIterator1 [[''search''>#search]](ForwardIterator1 '''first1''', ForwardIterator1 '''last1''',~
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ForwardIterator2 '''first2''', ForwardIterator2 '''last2''',~
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;BinaryPredicate '''pred''');~

''[[引数]]''~
  '''first1''':  探索対象となる列の先頭要素を指す ForwardIterator~
  '''last1''':  探索対象となる列の終端要素の次を指す ForwardIterator~
  '''first2''':  探索する部分列の先頭要素を指す ForwardIterator~
  '''last2''':  探索する部分列の終端要素の次を指す ForwardIterator~
  '''pred''':  [[述語]]~

''[[返却値]]''~
 探索に成功した場合、見つけた部分列の先頭要素を指す[[反復子]]を返す。失敗した場合には '''last1''' を返す。

''解説''~
 区間 ['''first1''', '''last1''' - ('''last2''' - '''first2''')) で定義される列から区間 ['''first2''', '''last2''') で定義される部分列を探索する。具体的には、区間 ['''first1''', '''last1''' - ('''last2''' - '''first2''')) にある[[反復子]] '''iter''' および '''n''' < '''last2''' - '''first2''' である負でない '''n''' に対して、最初の形式では *('''iter''' + '''n''') == *('''first2''' + '''n''') が、2 番目の形式では '''pred'''(*('''iter''' + '''n'''), *('''first2''' + '''n''')) != false が成立する最初の '''iter''' を見つけ出す。

''計算量''~
 多くとも ('''last1''' - '''first1''')×('''last2''' - '''first2''') 回比較または述語が適用が行われる。

''参照''~
→ [[serach_n>#search_n]], [[find_end>#find_end]]

&aname(search_n);
***search_n [#q4ac7b3d]
n 個の連続値からなる部分列の探索

''形式''~
&nbsp; template<class ForwardIterator, class Size, class T>~
&nbsp;&nbsp;&nbsp;&nbsp;ForwardIterator [[''search_n''>#search_n]](ForwardIterator '''first''', ForwardIterator '''last''',~
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Size '''count''', const T& '''value''');~

&nbsp; template<class ForwardIterator, class Size, class T, BinaryPredicate pred>~
&nbsp;&nbsp;&nbsp;&nbsp;ForwardIterator [[''search_n''>#search_n]](ForwardIterator '''first''', ForwardIterator '''last''',~
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Size '''count''', const T& '''value''', BinaryPredicate '''pred''');~

''[[引数]]''~
  '''first''':  探索対象となる列の先頭要素を指す ForwardIterator~
  '''last''':  探索対象となる列の終端要素の次を指す ForwardIterator~
  '''count''':  探索する部分列の要素数~
  '''value''':  探索する部分列の要素の値~
  '''pred''':  [[述語]]~

''[[返却値]]''~
 探索に成功した場合、見つけた部分列の先頭要素を指す[[反復子]]を返す。失敗した場合には '''last1''' を返す。

''解説''~
 区間 ['''first''', '''last''' - '''count''') で定義される列から '''count''' 個の '''value''' からなる部分列を探索する。具体的には、区間 ['''first''', '''last''' - '''count''') にある[[反復子]] '''iter''' および '''n''' < '''count''' である負でない '''n''' に対して、最初の形式では *('''iter''' + '''n''') == '''value'''が、2 番目の形式では '''pred'''(*('''iter''' + '''n'''), '''value''') が成立する最初の '''iter''' を見つけ出す。

''計算量''~
 多くとも ('''last''' - '''first''')×'''count''' 回比較または述語が適用が行われる。

''参照''~
→ [[serach>#search]]

トップ   一覧 単語検索   ヘルプ   最終更新のRSS
 ホーム | プロフィール | メール | ログイン | 管理
Copyright © 2005-2009 by TAKAGI Nobuhisa