[#BloombergLP-bdlb-Variant_RawVisitorHelper]
= xref:BloombergLP.adoc[BloombergLP]::xref:BloombergLP/bdlb.adoc[bdlb]::Variant&lowbar;RawVisitorHelper
:relfileprefix: ../../
:mrdocs:

This `struct` provides a helper for implementing `Variant&colon;&colon;applyRaw` that enables `applyRaw` to support visitor functors that do not provide an overload for `operator()(bslmf&colon;&colon;Nil)`&period; Objects of this type are constructed using a functor of (template parameter) type `VISITOR`, whose `operator()` returns the (template parameter) type `RESULT&lowbar;TYPE`&period; A `Variant&lowbar;RawVisitorHelper` wraps a functor of type `VISITOR` and provides an implementation of `operator()(bslmf&colon;&colon;Nil)` that performs a `BSLS&lowbar;ASSERT&lowbar;OPT(false)`&period; Note that this overload is needed to enable compilation (specifically, to instantiate `doApply` and `doApplyR`), but is never invoked by any code path at runtime&period;

== Synopsis

Declared in `&lt;bdlb&lowbar;variant&period;h&gt;`

[source,cpp,subs="verbatim,replacements,macros,-callouts"]
----
template&lt;
    class RESULT&lowbar;TYPE,
    class VISITOR&gt;
class Variant&lowbar;RawVisitorHelper;
----

== Member Functions

[cols="1,4"]
|===
| Name| Description
| xref:BloombergLP/bdlb/Variant_RawVisitorHelper/2constructor.adoc[`Variant&lowbar;RawVisitorHelper`]         [.small]#[constructor]#
| Create a `RawVisitorHelper` functor that delegates to the specified `visitor`&period;
| xref:BloombergLP/bdlb/Variant_RawVisitorHelper/operator_call-0b.adoc[`operator()`] 
| Function call operators
|===



[.small]#Created with https://www.mrdocs.com[MrDocs]#
