variant.hpp(3) Library Functions Manual variant.hpp(3)

# [NAME](#NAME)

variant.hpp - Support for std::variant.

# [SYNOPSIS](#SYNOPSIS)

#include 'cereal/cereal.hpp'  
#include &lt;variant&gt;  
#include &lt;cstdint&gt;

## [Classes](#Classes)

struct **cereal::variant\_detail::variant\_save\_visitor&lt; Archive &gt;**

## [Functions](#Functions)

template&lt;int N, class Variant, class Archive&gt; std::enable\_if&lt; N==std::variant\_size\_v&lt; Variant &gt;, void &gt;::type **cereal::variant\_detail::load\_variant** (Archive &, int, Variant &)  
template&lt;class Archive, typename VariantType1, typename... VariantTypes&gt; void **cereal::CEREAL\_SAVE\_FUNCTION\_NAME** (Archive &ar, std::variant&lt; VariantType1, VariantTypes... &gt; const &variant)  
Saving for std::variant. template&lt;class Archive, typename... VariantTypes&gt; void **cereal::CEREAL\_LOAD\_FUNCTION\_NAME** (Archive &ar, std::variant&lt; VariantTypes... &gt; &variant)  
Loading for std::variant. template&lt;class Archive&gt; void **cereal::CEREAL\_SERIALIZE\_FUNCTION\_NAME** (Archive &, std::monostate const &)  
Serializing a std::monostate.

# [Detailed Description](#Detailed_Description)

Support for std::variant.

# [Author](#Author)

Generated automatically by Doxygen for cereal from the source code.

Sat Aug 29 2026 00:42:30 cereal

---

Document: variant.hpp(3) from cereal 1.3.2-r5 (Chainguard OS)
Source: https://github.com/USCiLab/cereal
