cereal::common\_detail::is\_enum&lt; T &gt;(3) Library Functions Manual cereal::common\_detail::is\_enum&lt; T &gt;(3)

# [NAME](#NAME)

cereal::common\_detail::is\_enum&lt; T &gt; - Checks if a type is an enum.

# [SYNOPSIS](#SYNOPSIS)

#include &lt;/home/build/include/cereal/types/common.hpp&gt;

## [Public Types](#Public_Types)

using **type** = StrippedT  
using **base\_type** = typename enum\_underlying\_type&lt;StrippedT, value&gt;::type

## [Static Public Attributes](#Static_Public_Attributes)

static const bool **value** = std::is\_enum&lt;StrippedT&gt;::value

# [Detailed Description](#Detailed_Description)

## [template&lt;class T&gt;](#template_class_T_)

class cereal::common\_detail::is\_enum&lt; T &gt;"Checks if a type is an enum.

This is needed over simply calling std::is\_enum because the type traits checking at compile time will attempt to call something like load\_minimal with a special NoConvertRef struct that wraps up the true type.

This will strip away any of that and also expose the true underlying type.

# [Author](#Author)

Generated automatically by Doxygen for cereal from the source code.

Mon Oct 26 2026 02:55:37 cereal

---

Document: cereal_common_detail_is_enum(3) from cereal 1.3.2-r7 (Chainguard OS)
Source: https://github.com/USCiLab/cereal
