[#BloombergLP-bdlf-BindWrapper] = xref:BloombergLP.adoc[BloombergLP]::xref:BloombergLP/bdlf.adoc[bdlf]::BindWrapper :relfileprefix: ../../ :mrdocs: This wrapper class provides a binder with shared pointer semantics to a non‐modifiable binder (both `operator*` and `operator‐>` accessors) and forward 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, in order to meet user expectations that the result of `BindUtil::bind` be an invocable just as the result of `bdlf::BindUtil::bind` is; in that case, the invocation parameters are simply forwarded to the shared binder. Note finally that even though this wrapper has pointer semantics for the `operator*` and `operator‐>`, it has value semantics for the invocation: invoking a non‐modifiable wrapper will forward the invocation to the non‐modifiable binder shared by that wrapper, even though pointer semantics have it . == 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; ---- == 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 object using the invocation parameters provided at construction of this `bdlf::Bind` object, substituting place‐holders for their respective values in the specified `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>`] | `BindWrapper` has pointer semantics. | xref:BloombergLP/bdlf/BindWrapper/2conversion-0c.adoc[`operator BloombergLP::bslmf::NestedTraitDeclaration<BindWrapper, IsBitwiseMoveable>`] | `BindWrapper` is bitwise moveable. | xref:BloombergLP/bdlf/BindWrapper/2conversion-07d.adoc[`operator BloombergLP::bslmf::NestedTraitDeclaration<BindWrapper, is_nothrow_move_constructible>`] | `BindWrapper` is bitwise moveable. |=== [.small]#Created with https://www.mrdocs.com[MrDocs]#