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 EnumSet & operator= (const EnumSet &)=default
constexpr EnumSet & operator= (EnumSet &&)=default
const bitsetType & bitset () const
constexpr EnumSet & operator&= (const EnumSet &that)
constexpr EnumSet & operator&= (EnumSet &&that)
constexpr EnumSet & operator|= (const EnumSet &that)
constexpr EnumSet & operator|= (EnumSet &&that)
constexpr EnumSet & operator^= (const EnumSet &that)
constexpr EnumSet & operator^= (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 EnumSet & set ()
constexpr EnumSet & set (enumerationType x, bool value=true)
constexpr EnumSet & reset ()
constexpr EnumSet & reset (enumerationType x)
constexpr EnumSet & flip ()
constexpr EnumSet & flip (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: