[#BloombergLP-bdlf-BindWrapper] = xref:BloombergLP.adoc[BloombergLP]::xref:BloombergLP/bdlf.adoc[bdlf]::BindWrapper :relfileprefix: ../../ :mrdocs: This wrapper provides shared‐pointer semantics around a binder. == Synopsis Declared in `<bdlf_bind.h>` [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- 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 [cols="1,4"] |=== | Name| Description | xref:BloombergLP/bdlf/BindWrapper/ResultType.adoc[`ResultType`] | The return type of this binder object. |=== == Member Functions [cols="1,4"] |=== | Name| Description | xref:BloombergLP/bdlf/BindWrapper/2constructor-08.adoc[`BindWrapper`] [.small]#[constructor]# | Constructors | xref:BloombergLP/bdlf/BindWrapper/invoke.adoc[`invoke`] | Invoke the bound function with the evaluated arguments. | xref:BloombergLP/bdlf/BindWrapper/operator_call-026.adoc[`operator()`] | Function call operators | xref:BloombergLP/bdlf/BindWrapper/operator_star.adoc[`operator*`] | Return a reference to the non‐modifiable binder shared by this wrapper. | xref:BloombergLP/bdlf/BindWrapper/operator_ptr.adoc[`operator‐>`] | Return the address of the non‐modifiable binder shared by this wrapper. | xref:BloombergLP/bdlf/BindWrapper/2conversion-074.adoc[`operator BloombergLP::bslmf::NestedTraitDeclaration<BindWrapper, HasPointerSemantics>`] | Declare that this type has pointer semantics. | xref:BloombergLP/bdlf/BindWrapper/2conversion-0c.adoc[`operator BloombergLP::bslmf::NestedTraitDeclaration<BindWrapper, IsBitwiseMoveable>`] | Declare that this type is bitwise moveable. | xref:BloombergLP/bdlf/BindWrapper/2conversion-07d.adoc[`operator BloombergLP::bslmf::NestedTraitDeclaration<BindWrapper, is_nothrow_move_constructible>`] | Declare that this type is nothrow move constructible. |=== [.small]#Created with https://www.mrdocs.com[MrDocs]#