FLANG
Fortran::common::EnumSet< ENUM, BITS > Class Template Reference

Public Types

using bitsetType
using enumerationType = ENUM

Public Member Functions

constexpr EnumSet (const std::initializer_list< enumerationType > &enums)
constexpr EnumSet (const EnumSet &)=default
constexpr EnumSet (EnumSet &&)=default
constexpr EnumSetoperator= (const EnumSet &)=default
constexpr EnumSetoperator= (EnumSet &&)=default
const bitsetType & bitset () const
constexpr EnumSetoperator&= (const EnumSet &that)
constexpr EnumSetoperator&= (EnumSet &&that)
constexpr EnumSetoperator|= (const EnumSet &that)
constexpr EnumSetoperator|= (EnumSet &&that)
constexpr EnumSetoperator^= (const EnumSet &that)
constexpr EnumSetoperator^= (EnumSet &&that)
constexpr EnumSet operator~ () const
constexpr EnumSet operator& (const EnumSet &that) const
constexpr EnumSet operator& (EnumSet &&that) const
constexpr EnumSet operator| (const EnumSet &that) const
constexpr EnumSet operator| (EnumSet &&that) const
constexpr EnumSet operator^ (const EnumSet &that) const
constexpr EnumSet operator^ (EnumSet &&that) const
constexpr EnumSet operator+ (enumerationType v) const
constexpr EnumSet operator- (enumerationType v) const
constexpr bool operator== (const EnumSet &that) const
constexpr bool operator== (EnumSet &&that) const
constexpr bool operator!= (const EnumSet &that) const
constexpr bool operator!= (EnumSet &&that) const
constexpr bool test (enumerationType x) const
constexpr bool all () const
constexpr bool any () const
constexpr bool none () const
constexpr std::size_t count () const
constexpr std::size_t count (enumerationType x) const
constexpr EnumSetset ()
constexpr EnumSetset (enumerationType x, bool value=true)
constexpr EnumSetreset ()
constexpr EnumSetreset (enumerationType x)
constexpr EnumSetflip ()
constexpr EnumSetflip (enumerationType x)
constexpr bool empty () const
void clear ()
void insert (enumerationType x)
void emplace (enumerationType x)
void erase (enumerationType x)
constexpr std::optional< enumerationType > LeastElement () const
template<typename FUNC>
void IterateOverMembers (const FUNC &f) const
template<typename STREAM>
STREAM & Dump (STREAM &o, std::string_view EnumToString(enumerationType)) const

Static Public Member Functions

static constexpr std::size_t max_size ()

Member Typedef Documentation

◆ bitsetType

template<typename ENUM, std::size_t BITS>
using Fortran::common::EnumSet< ENUM, BITS >::bitsetType
Initial value:
std::conditional_t<(BITS <= 64), common::BitSet<BITS>, std::bitset<BITS>>

The documentation for this class was generated from the following file: