ReactOS 0.4.16-dev-340-g0540c21
_function.h File Reference
Include dependency graph for _function.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  not_equal_to< _Tp >
 
struct  greater< _Tp >
 
struct  greater_equal< _Tp >
 
struct  less_equal< _Tp >
 
struct  divides< _Tp >
 
struct  modulus< _Tp >
 
struct  negate< _Tp >
 
struct  logical_and< _Tp >
 
struct  logical_or< _Tp >
 
struct  logical_not< _Tp >
 
class  unary_negate< _Predicate >
 
class  binary_negate< _Predicate >
 
class  binder1st< _Operation >
 
class  binder2nd< _Operation >
 
class  unary_compose< _Operation1, _Operation2 >
 
class  binary_compose< _Operation1, _Operation2, _Operation3 >
 
struct  identity< _Tp >
 
struct  select1st< _Pair >
 
struct  select2nd< _Pair >
 
struct  project1st< _Arg1, _Arg2 >
 
struct  project2nd< _Arg1, _Arg2 >
 
struct  _Constant_void_fun< _Result >
 
struct  constant_void_fun< _Result >
 
struct  constant_unary_fun< _Result, >
 
struct  constant_binary_fun< _Result,, >
 
class  subtractive_rng
 

Macros

#define __UNARY_ARG(__Operation, __type)   __Operation::__type
 
#define __BINARY_ARG(__Operation, __type)   __Operation::__type
 
#define __PAIR_ARG(__Pair, __type)   __Pair::__type
 

Functions

template<class _Tp >
_Tp identity_element (plus< _Tp >)
 
template<class _Tp >
_Tp identity_element (multiplies< _Tp >)
 
template<class _Predicate >
unary_negate< _Predicate > not1 (const _Predicate &__pred)
 
template<class _Predicate >
binary_negate< _Predicate > not2 (const _Predicate &__pred)
 
template<class _Operation , class _Tp >
binder1st< _Operation > bind1st (const _Operation &__fn, const _Tp &__x)
 
template<class _Operation , class _Tp >
binder2nd< _Operation > bind2nd (const _Operation &__fn, const _Tp &__x)
 
template<class _Operation1 , class _Operation2 >
unary_compose< _Operation1, _Operation2 > compose1 (const _Operation1 &__fn1, const _Operation2 &__fn2)
 
template<class _Operation1 , class _Operation2 , class _Operation3 >
binary_compose< _Operation1, _Operation2, _Operation3 > compose2 (const _Operation1 &__fn1, const _Operation2 &__fn2, const _Operation3 &__fn3)
 
template<class _Result >
constant_void_fun< _Result > constant0 (const _Result &__val)
 
template<class _Result >
constant_unary_fun< _Result, _Result > constant1 (const _Result &__val)
 
template<class _Result >
constant_binary_fun< _Result, _Result, _Result > constant2 (const _Result &__val)
 

Macro Definition Documentation

◆ __BINARY_ARG

#define __BINARY_ARG (   __Operation,
  __type 
)    __Operation::__type

Definition at line 131 of file _function.h.

◆ __PAIR_ARG

#define __PAIR_ARG (   __Pair,
  __type 
)    __Pair::__type

Definition at line 132 of file _function.h.

◆ __UNARY_ARG

#define __UNARY_ARG (   __Operation,
  __type 
)    __Operation::__type

Definition at line 130 of file _function.h.

Function Documentation

◆ bind1st()

template<class _Operation , class _Tp >
binder1st< _Operation > bind1st ( const _Operation &  __fn,
const _Tp &  __x 
)
inline

Definition at line 217 of file _function.h.

217 {
218 typedef typename _Operation::first_argument_type _Arg1_type;
219 return binder1st<_Operation>(__fn, _Arg1_type(__x));
220}

Referenced by BindTest::bind1st1(), and BindTest::bind2nd3().

◆ bind2nd()

template<class _Operation , class _Tp >
binder2nd< _Operation > bind2nd ( const _Operation &  __fn,
const _Tp &  __x 
)
inline

Definition at line 252 of file _function.h.

252 {
253 typedef typename _Operation::second_argument_type _Arg2_type;
254 return binder2nd<_Operation>(__fn, _Arg2_type(__x));
255}

Referenced by BindTest::bind1st1(), BindTest::bind2nd2(), BindTest::bind2nd3(), BindTest::bind_memfn(), and MemFunPtrTest::find().

◆ compose1()

template<class _Operation1 , class _Operation2 >
unary_compose< _Operation1, _Operation2 > compose1 ( const _Operation1 &  __fn1,
const _Operation2 &  __fn2 
)
inline

Definition at line 285 of file _function.h.

285 {
286 return unary_compose<_Operation1,_Operation2>(__fn1, __fn2);
287}

Referenced by UnaryTest::ucompos2().

◆ compose2()

template<class _Operation1 , class _Operation2 , class _Operation3 >
binary_compose< _Operation1, _Operation2, _Operation3 > compose2 ( const _Operation1 &  __fn1,
const _Operation2 &  __fn2,
const _Operation3 &  __fn3 
)
inline

Definition at line 316 of file _function.h.

317 {
318 return binary_compose<_Operation1,_Operation2,_Operation3>(__fn1, __fn2, __fn3);
319}

Referenced by BcomposTest::bcompos2().

◆ constant0()

template<class _Result >
constant_void_fun< _Result > constant0 ( const _Result &  __val)
inline

Definition at line 371 of file _function.h.

371 {
373}
_STLP_INLINE_LOOP _InputIter const _Tp & __val
Definition: _algobase.h:656

◆ constant1()

template<class _Result >
constant_unary_fun< _Result, _Result > constant1 ( const _Result &  __val)
inline

Definition at line 376 of file _function.h.

◆ constant2()

template<class _Result >
constant_binary_fun< _Result, _Result, _Result > constant2 ( const _Result &  __val)
inline

Definition at line 382 of file _function.h.

◆ identity_element() [1/2]

template<class _Tp >
_Tp identity_element ( multiplies< _Tp >  )
inline

Definition at line 96 of file _function.h.

96{ return _Tp(1); }

◆ identity_element() [2/2]

template<class _Tp >
_Tp identity_element ( plus< _Tp >  )
inline

Definition at line 95 of file _function.h.

95{ return _Tp(0); }

◆ not1()

template<class _Predicate >
unary_negate< _Predicate > not1 ( const _Predicate &  __pred)
inline

Definition at line 154 of file _function.h.

154 {
156}
_STLP_INLINE_LOOP _InputIter _Predicate __pred
Definition: _algo.h:68

Referenced by __str_find_first_not_of_aux3(), ctype_byname< wchar_t >::do_scan_not(), UnaryTest::unegate2(), and UnaryTest::unegate3().

◆ not2()

template<class _Predicate >
binary_negate< _Predicate > not2 ( const _Predicate &  __pred)
inline

Definition at line 183 of file _function.h.

183 {
185}

Referenced by BnegateTest::bnegate2().