[#BloombergLP-bdlf-Bind_PlaceHolderMask-05] = xref:BloombergLP.adoc[BloombergLP]::xref:BloombergLP/bdlf.adoc[bdlf]::Bind_PlaceHolderMask :relfileprefix: ../../ :mrdocs: This template, passed the type of one of the bound arguments to a function object, yields: * If the specified `t_BOUND_TYPE` is a place holder, a mask with the bit at the index of the place holder set. * If the specified `t_BOUND_TYPE` is a `Bind` or `BindWrapper`, a mask with bit 24 set. * Zero otherwise. == Synopsis Declared in `<bdlf_bind.h>` [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- template<class t_BOUND_TYPE> struct Bind_PlaceHolderMask; ---- == Static Data Members [cols="1,4"] |=== | Name| Description | xref:BloombergLP/bdlf/Bind_PlaceHolderMask-05/k_VAL.adoc[`k_VAL`] | Placeholder mask value of zero for non‐placeholder bound types. |=== == Specializations [cols="1,4"] |=== | Name| Description | xref:BloombergLP/bdlf/Bind_PlaceHolderMask-0e.adoc[`Bind_PlaceHolderMask<PlaceHolder<INDEX>>`] | | xref:BloombergLP/bdlf/Bind_PlaceHolderMask-01.adoc[`Bind_PlaceHolderMask<Bind<t_RET, t_FUNC, t_BOUND_TUPLE>>`] | This specialization of `Bind_PlaceHolderMask` defines a mask for a `Bind` object passed recursively as a bound argument. The value is not important, as long as it is out of range. Note that `1 << 30` would be equally valid, but can lead to an overflow in constant expression with `Bind_CalcParameterMask::k_PARAM_MASK2` below (obtained by adding the masks of the bound arguments together) when there are more than 3 nested binders (this is unfortunately an error with the GNU compiler). | xref:BloombergLP/bdlf/Bind_PlaceHolderMask-0b.adoc[`Bind_PlaceHolderMask<BindWrapper<t_RET, t_FUNC, t_BOUND_TUPLE>>`] | This specialization of `Bind_PlaceHolderMask` defines a mask for a `BindWrapper` object passed recursively as a bound argument. The value is not important, as long as it is out of range. This makes sure that a binder with a nested `BindWrapper` object is treated as non‐explicit, in the same way as if the nested binder was of type `Bind`. |=== [.small]#Created with https://www.mrdocs.com[MrDocs]#