[#BloombergLP-bslstl-Variant_SMFBase]
= xref:BloombergLP.adoc[BloombergLP]::xref:BloombergLP/bslstl.adoc[bslstl]::Variant&lowbar;SMFBase
:relfileprefix: ../../
:mrdocs:

This component&hyphen;private class has special member functions that are either deleted or defaulted according to the specified template parameters&period;

== Synopsis

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

[source,cpp,subs="verbatim,replacements,macros,-callouts"]
----
template&lt;
    bool t&lowbar;ISCOPYCONSTRUCTIBLE,
    bool t&lowbar;ISMOVECONSTRUCTIBLE,
    bool t&lowbar;ISCOPYASSIGNABLE,
    bool t&lowbar;ISMOVEASSIGNABLE&gt;
struct Variant&lowbar;SMFBase
    : xref:BloombergLP/bslstl/Variant_MoveAssignBase-05.adoc[Variant&lowbar;MoveAssignBase&lt;t&lowbar;ISCOPYCONSTRUCTIBLE, t&lowbar;ISMOVECONSTRUCTIBLE, t&lowbar;ISCOPYASSIGNABLE, t&lowbar;ISMOVEASSIGNABLE&gt;]
----

== Base Classes

[cols="1,4"]
|===
| Name| Description
| `xref:BloombergLP/bslstl/Variant_MoveAssignBase-05.adoc[Variant&lowbar;MoveAssignBase&lt;t&lowbar;ISCOPYCONSTRUCTIBLE, t&lowbar;ISMOVECONSTRUCTIBLE, t&lowbar;ISCOPYASSIGNABLE, t&lowbar;ISMOVEASSIGNABLE&gt;]`
| This component&hyphen;private class has deleted move assignment operator if (template parameter) `t&lowbar;ISMOVEASSIGNABLE` is `false`&period; All other special member functions are defaulted&period;
|===


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