This wrapper provides shared-pointer semantics around a binder.
Declared in <bdlf_bind.h>
template<
class t_RET,
class t_FUNC,
class t_BOUND_TUPLE>
class BindWrapper;
This wrapper class provides a binder with shared pointer semantics to a non-modifiable binder (both operator* and operator-> accessors) and forwards its construction arguments to the underlying binder. Note that instances of this class should not be created explicitly; instead use the BindUtil factory methods. Note also that instances of this class can be invoked directly so the result of BindUtil::bind is invocable. Note finally that even though this wrapper has pointer semantics for operator* and operator->, it has value semantics for invocation.
| Name | Description |
|---|---|
ResultType | The return type of this binder object. |
| Name | Description |
|---|---|
BindWrapper [constructor] | Constructors |
invoke | Invoke the bound function with the evaluated arguments. |
operator() | Function call operators |
operator* | Return a reference to the non-modifiable binder shared by this wrapper. |
operator-> | Return the address of the non-modifiable binder shared by this wrapper. |
operator BloombergLP::bslmf::NestedTraitDeclaration<BindWrapper, HasPointerSemantics> | Declare that this type has pointer semantics. |
operator BloombergLP::bslmf::NestedTraitDeclaration<BindWrapper, IsBitwiseMoveable> | Declare that this type is bitwise moveable. |
operator BloombergLP::bslmf::NestedTraitDeclaration<BindWrapper, is_nothrow_move_constructible> | Declare that this type is nothrow move constructible. |