[#BloombergLP-bdlb-VariantImp-apply-03c] = xref:BloombergLP.adoc[BloombergLP]::xref:BloombergLP/bdlb.adoc[bdlb]::xref:BloombergLP/bdlb/VariantImp.adoc[VariantImp]::apply :relfileprefix: ../../../ :mrdocs: Apply the specified `visitor` to this variant by passing the value (of template parameter `TYPE`) this variant currently holds to the `visitor` object's `operator()`, and return the value (of template parameter `RET_TYPE`) returned by the `visitor`. If this variant is unset, the specified `defaultValue` of template parameter `TYPE` is passed to the `visitor`. `TYPE` must be the same as one of the types that this variant can hold. The behavior is undefined unless this variant is unset or holds a value of template parameter `TYPE`. == Synopsis Declared in `<bdlb_variant.h>` [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- template< class RET_TYPE, class VISITOR, class TYPE> RET_TYPE apply( VISITOR const& visitor, TYPE const& defaultValue) const; ---- [.small]#Created with https://www.mrdocs.com[MrDocs]#