STLdoc
STLdocumentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Public Member Functions | List of all members
__gnu_parallel::__adjacent_find_selector Struct Reference

Test predicate on two adjacent elements. More...

#include <parallel/find_selectors.h>

Inheritance diagram for __gnu_parallel::__adjacent_find_selector:
__gnu_parallel::__generic_find_selector

Public Member Functions

template<typename _RAIter1 , typename _RAIter2 , typename _Pred >
bool operator() (_RAIter1 __i1, _RAIter2 __i2, _Pred __pred)
 Test on one position. More...
 
template<typename _RAIter1 , typename _RAIter2 , typename _Pred >
std::pair< _RAIter1, _RAIter2 > _M_sequential_algorithm (_RAIter1 __begin1, _RAIter1 __end1, _RAIter2 __begin2, _Pred __pred)
 Corresponding sequential algorithm on a sequence. More...
 

Detailed Description

Test predicate on two adjacent elements.

Member Function Documentation

template<typename _RAIter1 , typename _RAIter2 , typename _Pred >
std::pair<_RAIter1, _RAIter2> __gnu_parallel::__adjacent_find_selector::_M_sequential_algorithm ( _RAIter1  __begin1,
_RAIter1  __end1,
_RAIter2  __begin2,
_Pred  __pred 
)
inline

Corresponding sequential algorithm on a sequence.

Parameters
__begin1Begin iterator of first sequence.
__end1End iterator of first sequence.
__begin2Begin iterator of second sequence.
__predFind predicate.
108  {
109  // Passed end iterator is one short.
110  _RAIter1 __spot = adjacent_find(__begin1, __end1 + 1,
111  __pred, sequential_tag());
112  if (__spot == (__end1 + 1))
113  __spot = __end1;
114  return std::make_pair(__spot, __begin2);
115  }
template<typename _RAIter1 , typename _RAIter2 , typename _Pred >
bool __gnu_parallel::__adjacent_find_selector::operator() ( _RAIter1  __i1,
_RAIter2  __i2,
_Pred  __pred 
)
inline

Test on one position.

Parameters
__i1_Iterator on first sequence.
__i2_Iterator on second sequence (unused).
__predFind predicate.
91  {
92  // Passed end iterator is one short.
93  return __pred(*__i1, *(__i1 + 1));
94  }

The documentation for this struct was generated from the following file: