Quick Links: |
#include <bdlf_bind.h>
Public Types | |
typedef Traits::ResultType | ResultType |
Public Member Functions | |
BSLMF_NESTED_TRAIT_DECLARATION (Bind_ImplExplicit, bslma::UsesBslmaAllocator) | |
Bind_ImplExplicit (typename bslmf::ForwardingType< FUNC >::Type func, LIST const &list, bslma::Allocator *allocator) | |
Bind_ImplExplicit (const Bind_ImplExplicit &other, bslma::Allocator *allocator) | |
template<class ARGS > | |
ResultType | invoke (ARGS &arguments) const |
ResultType | operator() () const |
ResultType | operator() (P1 p1) const |
ResultType | operator() (P1 p1, P2 p2) const |
ResultType | operator() (P1 p1, P2 p2, P3 p3) const |
ResultType | operator() (P1 p1, P2 p2, P3 p3, P4 p4) const |
ResultType | operator() (P1 p1, P2 p2, P3 p3, P4 p4, P5 p5) const |
ResultType | operator() (P1 p1, P2 p2, P3 p3, P4 p4, P5 p5, P6 p6) const |
ResultType | operator() (P1 p1, P2 p2, P3 p3, P4 p4, P5 p5, P6 p6, P7 p7) const |
ResultType | operator() (P1 p1, P2 p2, P3 p3, P4 p4, P5 p5, P6 p6, P7 p7, P8 p8) const |
ResultType | operator() (P1 p1, P2 p2, P3 p3, P4 p4, P5 p5, P6 p6, P7 p7, P8 p8, P9 p9) const |
ResultType | operator() (P1 p1, P2 p2, P3 p3, P4 p4, P5 p5, P6 p6, P7 p7, P8 p8, P9 p9, P10 p10) const |
ResultType | operator() (P1 p1, P2 p2, P3 p3, P4 p4, P5 p5, P6 p6, P7 p7, P8 p8, P9 p9, P10 p10, P11 p11) const |
ResultType | operator() (P1 p1, P2 p2, P3 p3, P4 p4, P5 p5, P6 p6, P7 p7, P8 p8, P9 p9, P10 p10, P11 p11, P12 p12) const |
ResultType | operator() (P1 p1, P2 p2, P3 p3, P4 p4, P5 p5, P6 p6, P7 p7, P8 p8, P9 p9, P10 p10, P11 p11, P12 p12, P13 p13) const |
ResultType | operator() (P1 p1, P2 p2, P3 p3, P4 p4, P5 p5, P6 p6, P7 p7, P8 p8, P9 p9, P10 p10, P11 p11, P12 p12, P13 p13, P14 p14) const |
This class implements the storage and functionality required for a binder that invokes an object of type FUNC
with a list of invocation parameters of type LIST
. The return type of the invocation is determined by a combination of type RET
and FUNC
. This implementation is preferred to the more generic Bind_Impl
above, because it allows to match the signature more closely. However, this implementation can only be used when the type of binder is "explicit" (see below). Note that it does not yet allow to cast the bound arguments to their respective argument type at binding time; the bound arguments are still converted to the signature at invocation time.
A binder is explicit if:
Bind
objects in the bound arguments. Note that this class is an implementation detail of Bind
. Do not use this class outside this component.
typedef Traits::ResultType bdlf::Bind_ImplExplicit< RET, FUNC, LIST >::ResultType |
bdlf::Bind_ImplExplicit< RET, FUNC, LIST >::Bind_ImplExplicit | ( | typename bslmf::ForwardingType< FUNC >::Type | func, | |
LIST const & | list, | |||
bslma::Allocator * | allocator | |||
) | [inline] |
allocator | Construct a Bind_Impl object bound to the specified invocable object func using the invocation parameters specified in list . |
bdlf::Bind_ImplExplicit< RET, FUNC, LIST >::Bind_ImplExplicit | ( | const Bind_ImplExplicit< RET, FUNC, LIST > & | other, | |
bslma::Allocator * | allocator | |||
) | [inline] |
bdlf::Bind_ImplExplicit< RET, FUNC, LIST >::BSLMF_NESTED_TRAIT_DECLARATION | ( | Bind_ImplExplicit< RET, FUNC, LIST > | , | |
bslma::UsesBslmaAllocator | ||||
) |
ResultType bdlf::Bind_ImplExplicit< RET, FUNC, LIST >::invoke | ( | ARGS & | arguments | ) | const [inline] |
< Invoke the bound functor using the invocation parameters provided at construction of this Bind
object. Substituting place-holders for their respective values in the specified arguments
.
Referenced by bdlf::Bind_ImplExplicit< RET, FUNC, LIST >::operator()().
ResultType bdlf::Bind_ImplExplicit< RET, FUNC, LIST >::operator() | ( | ) | const [inline] |
< Invoke the bound functor using only the invocation parameters provided at construction of this Bind
object and return the result.
References bdlf::Bind_ImplExplicit< RET, FUNC, LIST >::invoke().
ResultType bdlf::Bind_ImplExplicit< RET, FUNC, LIST >::operator() | ( | P1 | p1 | ) | const [inline] |
< Invoke the bound functor using the invocation template provided at construction of this Bind
object, substituting place-holders for argument 1 with the value of the specified argument p1
. Return the result.
References bdlf::Bind_ImplExplicit< RET, FUNC, LIST >::invoke().
ResultType bdlf::Bind_ImplExplicit< RET, FUNC, LIST >::operator() | ( | P1 | p1, | |
P2 | p2 | |||
) | const [inline] |
< Invoke the bound functor using the invocation template provided at construction of this Bind
object, substituting place-holders for arguments 1 and 2 with the value of the specified arguments p1
, and p2
respectively. Return the result.
References bdlf::Bind_ImplExplicit< RET, FUNC, LIST >::invoke().
ResultType bdlf::Bind_ImplExplicit< RET, FUNC, LIST >::operator() | ( | P1 | p1, | |
P2 | p2, | |||
P3 | p3 | |||
) | const [inline] |
< Invoke the bound functor using the invocation template provided at construction of this Bind
object, substituting place-holders for arguments 1, 2, and 3 with the values of the specified arguments p1
, p2
and p3
respectively. Return the result.
References bdlf::Bind_ImplExplicit< RET, FUNC, LIST >::invoke().
ResultType bdlf::Bind_ImplExplicit< RET, FUNC, LIST >::operator() | ( | P1 | p1, | |
P2 | p2, | |||
P3 | p3, | |||
P4 | p4 | |||
) | const [inline] |
< Invoke the bound functor using the invocation template provided at construction of this Bind
object, substituting place-holders for arguments 1 - 4 with the values of the specified arguments p1
- p4
respectively. Return the result.
References bdlf::Bind_ImplExplicit< RET, FUNC, LIST >::invoke().
ResultType bdlf::Bind_ImplExplicit< RET, FUNC, LIST >::operator() | ( | P1 | p1, | |
P2 | p2, | |||
P3 | p3, | |||
P4 | p4, | |||
P5 | p5 | |||
) | const [inline] |
< Invoke the bound functor using the invocation template provided at construction of this Bind
object, substituting place-holders for arguments 1 - 5 with the values of the specified arguments p1
- p5
respectively. Return the result.
References bdlf::Bind_ImplExplicit< RET, FUNC, LIST >::invoke().
ResultType bdlf::Bind_ImplExplicit< RET, FUNC, LIST >::operator() | ( | P1 | p1, | |
P2 | p2, | |||
P3 | p3, | |||
P4 | p4, | |||
P5 | p5, | |||
P6 | p6 | |||
) | const [inline] |
< Invoke the bound functor using the invocation template provided at construction of this Bind
object, substituting place-holders for arguments 1 - 6 with the values of the specified arguments p1
- p7
respectively. Return the result.
References bdlf::Bind_ImplExplicit< RET, FUNC, LIST >::invoke().
ResultType bdlf::Bind_ImplExplicit< RET, FUNC, LIST >::operator() | ( | P1 | p1, | |
P2 | p2, | |||
P3 | p3, | |||
P4 | p4, | |||
P5 | p5, | |||
P6 | p6, | |||
P7 | p7 | |||
) | const [inline] |
< Invoke the bound functor using the invocation template provided at construction of this Bind
object, substituting place-holders for arguments 1 - 7 with the values of the specified arguments p1
- p7
respectively. Return the result.
References bdlf::Bind_ImplExplicit< RET, FUNC, LIST >::invoke().
ResultType bdlf::Bind_ImplExplicit< RET, FUNC, LIST >::operator() | ( | P1 | p1, | |
P2 | p2, | |||
P3 | p3, | |||
P4 | p4, | |||
P5 | p5, | |||
P6 | p6, | |||
P7 | p7, | |||
P8 | p8 | |||
) | const [inline] |
< Invoke the bound functor using the invocation template provided at construction of this Bind
object, substituting place-holders for arguments 1 - 8 with the values of the specified arguments p1
- p8
respectively. Return the result.
References bdlf::Bind_ImplExplicit< RET, FUNC, LIST >::invoke().
ResultType bdlf::Bind_ImplExplicit< RET, FUNC, LIST >::operator() | ( | P1 | p1, | |
P2 | p2, | |||
P3 | p3, | |||
P4 | p4, | |||
P5 | p5, | |||
P6 | p6, | |||
P7 | p7, | |||
P8 | p8, | |||
P9 | p9 | |||
) | const [inline] |
< Invoke the bound functor using the invocation template provided at construction of this Bind
object, substituting place-holders for arguments 1 - 9 with the values of the specified arguments p1
- p9
respectively. Return the result.
References bdlf::Bind_ImplExplicit< RET, FUNC, LIST >::invoke().
ResultType bdlf::Bind_ImplExplicit< RET, FUNC, LIST >::operator() | ( | P1 | p1, | |
P2 | p2, | |||
P3 | p3, | |||
P4 | p4, | |||
P5 | p5, | |||
P6 | p6, | |||
P7 | p7, | |||
P8 | p8, | |||
P9 | p9, | |||
P10 | p10 | |||
) | const [inline] |
< Invoke the bound functor using the invocation template provided at construction of this Bind
object, substituting place-holders for arguments 1 - 10 with the values of the specified arguments p1
- p10
respectively. Return the result.
References bdlf::Bind_ImplExplicit< RET, FUNC, LIST >::invoke().
ResultType bdlf::Bind_ImplExplicit< RET, FUNC, LIST >::operator() | ( | P1 | p1, | |
P2 | p2, | |||
P3 | p3, | |||
P4 | p4, | |||
P5 | p5, | |||
P6 | p6, | |||
P7 | p7, | |||
P8 | p8, | |||
P9 | p9, | |||
P10 | p10, | |||
P11 | p11 | |||
) | const [inline] |
< invoke the bound functor using the invocation template provided at construction of this bdlf_bind
object, substituting place-holders for arguments 1 - 11 with the values of the specified arguments p1
p11
respectively. Return the result. References bdlf::Bind_ImplExplicit< RET, FUNC, LIST >::invoke().
ResultType bdlf::Bind_ImplExplicit< RET, FUNC, LIST >::operator() | ( | P1 | p1, | |
P2 | p2, | |||
P3 | p3, | |||
P4 | p4, | |||
P5 | p5, | |||
P6 | p6, | |||
P7 | p7, | |||
P8 | p8, | |||
P9 | p9, | |||
P10 | p10, | |||
P11 | p11, | |||
P12 | p12 | |||
) | const [inline] |
< Invoke the bound functor using the invocation template provided at construction of this Bind
object, substituting place-holders for arguments 1 - 12 with the values of the specified arguments p1
- p12
respectively. Return the result.
References bdlf::Bind_ImplExplicit< RET, FUNC, LIST >::invoke().
ResultType bdlf::Bind_ImplExplicit< RET, FUNC, LIST >::operator() | ( | P1 | p1, | |
P2 | p2, | |||
P3 | p3, | |||
P4 | p4, | |||
P5 | p5, | |||
P6 | p6, | |||
P7 | p7, | |||
P8 | p8, | |||
P9 | p9, | |||
P10 | p10, | |||
P11 | p11, | |||
P12 | p12, | |||
P13 | p13 | |||
) | const [inline] |
< Invoke the bound functor using the invocation template provided at construction of this Bind
object, substituting place-holders for arguments 1 - 13 with the values of the specified arguments p1
- p13
respectively. Return the result.
References bdlf::Bind_ImplExplicit< RET, FUNC, LIST >::invoke().
ResultType bdlf::Bind_ImplExplicit< RET, FUNC, LIST >::operator() | ( | P1 | p1, | |
P2 | p2, | |||
P3 | p3, | |||
P4 | p4, | |||
P5 | p5, | |||
P6 | p6, | |||
P7 | p7, | |||
P8 | p8, | |||
P9 | p9, | |||
P10 | p10, | |||
P11 | p11, | |||
P12 | p12, | |||
P13 | p13, | |||
P14 | p14 | |||
) | const [inline] |
< Invoke the bound functor using the invocation template provided at construction of this Bind
object, substituting place-holders for arguments 1 - 14 with the values of the specified arguments p1
- p14
respectively. Return the result.
References bdlf::Bind_ImplExplicit< RET, FUNC, LIST >::invoke().