BloombergLP::bdlf::BindWrapper

This wrapper provides shared-pointer semantics around a binder.

Synopsis

Declared in <bdlf_bind.h>

template<
    class t_RET,
    class t_FUNC,
    class t_BOUND_TUPLE>
class BindWrapper;

Description

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.

Type Aliases

NameDescription
ResultType The return type of this binder object.

Member Functions

NameDescription
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.