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

Name

Description

ResultType

The return type of this binder object.

Member Functions

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.

Created with MrDocs