8#ifndef INCLUDED_BSLSTP_EXFUNCTIONAL
9#define INCLUDED_BSLSTP_EXFUNCTIONAL
100#ifdef BDE_OPENSOURCE_PUBLICATION
101#error "bslstp_exfunctional is not for publication"
117#ifndef BDE_DONT_ALLOW_TRANSITIVE_INCLUDES
120# include <functional>
133template <
class OPERATION1,
class OPERATION2>
170template <
class OPERATION1,
class OPERATION2,
class OPERATION3>
187 const OPERATION2& fn2,
188 const OPERATION3& fn3)
221 const typename PAIR::first_type&
operator()(
const PAIR& x)
const
242 const typename PAIR::second_type&
operator()(
const PAIR& x)
const
253template <
class OPERATION1,
class OPERATION2>
255unary_compose<OPERATION1, OPERATION2>
256compose1(
const OPERATION1& fn1,
const OPERATION2& fn2)
265template <
class OPERATION1,
class OPERATION2,
class OPERATION3>
267binary_compose<OPERATION1, OPERATION2, OPERATION3>
269 const OPERATION2& fn2,
270 const OPERATION3& fn3)
295 return 0 == std::strcmp(a, b);
306template <
class HASH_KEY>
Definition bslstp_exfunctional.h:172
OPERATION2 d_fn2
Definition bslstp_exfunctional.h:181
OPERATION3 d_fn3
Definition bslstp_exfunctional.h:182
result_type operator()(argument_type &x) const
Definition bslstp_exfunctional.h:199
result_type operator()(const argument_type &x) const
Definition bslstp_exfunctional.h:194
OPERATION1::result_type result_type
Definition bslstp_exfunctional.h:176
OPERATION1 d_fn1
Definition bslstp_exfunctional.h:180
binary_compose(const OPERATION1 &fn1, const OPERATION2 &fn2, const OPERATION3 &fn3)
Definition bslstp_exfunctional.h:186
OPERATION2::argument_type argument_type
Definition bslstp_exfunctional.h:175
Definition bslstp_exfunctional.h:135
OPERATION2 d_fn2
Definition bslstp_exfunctional.h:144
OPERATION1 d_fn1
Definition bslstp_exfunctional.h:143
result_type operator()(const argument_type &x) const
Definition bslstp_exfunctional.h:152
OPERATION2::argument_type argument_type
Definition bslstp_exfunctional.h:138
result_type operator()(argument_type &x) const
Definition bslstp_exfunctional.h:156
OPERATION1::result_type result_type
Definition bslstp_exfunctional.h:139
unary_compose(const OPERATION1 &x, const OPERATION2 &y)
Definition bslstp_exfunctional.h:148
#define BSLS_IDENT(str)
BSLS_IDENT() - insert string into .comment binary segment (if supported)
Definition bsls_ident.h:238
Definition bdlat_valuetypefunctions.h:939
unary_compose< OPERATION1, OPERATION2 > compose1(const OPERATION1 &fn1, const OPERATION2 &fn2)
Definition bslstp_exfunctional.h:256
binary_compose< OPERATION1, OPERATION2, OPERATION3 > compose2(const OPERATION1 &fn1, const OPERATION2 &fn2, const OPERATION3 &fn3)
Definition bslstp_exfunctional.h:268
Definition bslstp_exfunctional.h:325
StringComparator Type
Definition bslstp_exfunctional.h:319
Definition bslstp_exfunctional.h:308
bsl::equal_to< HASH_KEY > Type
Definition bslstp_exfunctional.h:310
Definition bslstp_exfunctional.h:282
bool operator()(const char *a, const char *b) const
Definition bslstp_exfunctional.h:292
BSLMF_NESTED_TRAIT_DECLARATION(StringComparator, bsl::is_trivially_copyable)
Definition bslstl_equalto.h:316
Definition bslmf_istriviallycopyable.h:324
public type names
Definition bslstp_exfunctional.h:213
const PAIR::first_type & operator()(const PAIR &x) const
Definition bslstp_exfunctional.h:221
BSLMF_NESTED_TRAIT_DECLARATION(select1st, bsl::is_trivially_copyable)
PAIR argument_type
Definition bslstp_exfunctional.h:214
PAIR::first_type result_type
Definition bslstp_exfunctional.h:215
public type names
Definition bslstp_exfunctional.h:234
const PAIR::second_type & operator()(const PAIR &x) const
Definition bslstp_exfunctional.h:242
PAIR argument_type
Definition bslstp_exfunctional.h:235
PAIR::second_type result_type
Definition bslstp_exfunctional.h:236
BSLMF_NESTED_TRAIT_DECLARATION(select2nd, bsl::is_trivially_copyable)
Definition bslstp_exfunctional.h:335
TYPE argument_type
Definition bslstp_exfunctional.h:338
TYPE result_type
Definition bslstp_exfunctional.h:339
BSLMF_NESTED_TRAIT_DECLARATION(Identity, bsl::is_trivially_copyable)
const TYPE & operator()(const TYPE &x) const
Return a const reference to the specified x.
Definition bslstp_exfunctional.h:356