MGL(Win32)
読み取り中…
検索中…
一致する文字列を見つけられません
MGL::EnumBitFlags< EnumType, FlagType > クラステンプレート

スコープを持つ列挙型に対応したビットフラグを扱うクラス [詳解]

#include <mgl_bit.h>

公開型

using UnderlyingType = std::underlying_type_t<EnumType>
 EnumTypeの基底の型
 

公開メンバ関数

constexpr EnumBitFlags () noexcept
 コンストラクタ
 
constexpr EnumBitFlags (EnumType value) noexcept
 コンストラクタ
 
constexpr EnumBitFlags (FlagType value) noexcept
 コンストラクタ
 
constexpr const FlagType & GetValue () const noexcept
 フラグの値を取得
 
constexpr bool Has (EnumType value) const noexcept
 指定した値を保持しているかを取得
 
constexpr bool HasAny () const noexcept
 いずれかの値を保持しているかを取得
 
constexpr EnumBitFlagsSet (EnumType value) noexcept
 指定した値をセットする
 
constexpr EnumBitFlagsClear (EnumType value) noexcept
 指定した値をクリアする
 
constexpr EnumBitFlagsClear () noexcept
 全てのフラグをクリアする
 
constexpr EnumBitFlagsFlip (EnumType value) noexcept
 指定した値のフラグを反転させる
 
constexpr EnumBitFlagsFlip () noexcept
 全ての値を反転させる
 
constexpr operator bool () const noexcept
 bool型へのキャスト
 
constexpr bool operator! () const noexcept
 否定演算子
 
constexpr EnumBitFlagsoperator|= (EnumType rhs) noexcept
 EnumType型との|=演算子
 
constexpr EnumBitFlagsoperator|= (const EnumBitFlags &rhs) noexcept
 自身の型との|=演算子
 
constexpr EnumBitFlagsoperator&= (EnumType rhs) noexcept
 EnumType型との&=演算子
 
constexpr EnumBitFlagsoperator&= (const EnumBitFlags &rhs) noexcept
 自身の型との&=演算子
 
constexpr EnumBitFlagsoperator^= (EnumType rhs) noexcept
 EnumType型との^=演算子
 
constexpr EnumBitFlagsoperator^= (const EnumBitFlags &rhs) noexcept
 自身の型との^=演算子
 
constexpr EnumBitFlags operator| (EnumType rhs) const noexcept
 EnumType型との|演算子
 
constexpr EnumBitFlags operator| (const EnumBitFlags &rhs) const noexcept
 自身の型との|演算子
 
constexpr EnumBitFlags operator& (EnumType rhs) const noexcept
 EnumType型との&演算子
 
constexpr EnumBitFlags operator& (const EnumBitFlags &rhs) const noexcept
 自身の型との&演算子
 
constexpr EnumBitFlags operator^ (EnumType rhs) const noexcept
 EnumType型との^演算子
 
constexpr EnumBitFlags operator^ (const EnumBitFlags &rhs) const noexcept
 自身の型との^演算子
 
constexpr EnumBitFlags operator~ () const noexcept
 ~演算子(全てのビットの反転)
 
constexpr bool operator== (const EnumBitFlags &rhs) const noexcept
 等価演算子
 
constexpr bool operator!= (const EnumBitFlags &rhs) const noexcept
 不等価演算子
 

静的公開変数類

static constexpr size_t kSize = sizeof(FlagType) * 8
 ビットフラグのサイズ
 

詳解

template<class EnumType, typename FlagType = uint32_t>
class MGL::EnumBitFlags< EnumType, FlagType >

スコープを持つ列挙型に対応したビットフラグを扱うクラス

テンプレート引数
EnumTypeスコープを持つ列挙型
FlagTypeビットフラグを保持するための値の型

構築子と解体子

◆ EnumBitFlags() [1/2]

template<class EnumType , typename FlagType = uint32_t>
MGL::EnumBitFlags< EnumType, FlagType >::EnumBitFlags ( EnumType value)
inlineconstexprnoexcept

コンストラクタ

引数
[in]value設定する値

◆ EnumBitFlags() [2/2]

template<class EnumType , typename FlagType = uint32_t>
MGL::EnumBitFlags< EnumType, FlagType >::EnumBitFlags ( FlagType value)
inlineexplicitconstexprnoexcept

コンストラクタ

引数
[in]value設定する値

関数詳解

◆ Clear() [1/2]

template<class EnumType , typename FlagType = uint32_t>
EnumBitFlags & MGL::EnumBitFlags< EnumType, FlagType >::Clear ( )
inlineconstexprnoexcept

全てのフラグをクリアする

戻り値
自身の参照

◆ Clear() [2/2]

template<class EnumType , typename FlagType = uint32_t>
EnumBitFlags & MGL::EnumBitFlags< EnumType, FlagType >::Clear ( EnumType value)
inlineconstexprnoexcept

指定した値をクリアする

引数
[in]valueEnumTypeの型の値
戻り値
自身の参照

◆ Flip() [1/2]

template<class EnumType , typename FlagType = uint32_t>
EnumBitFlags & MGL::EnumBitFlags< EnumType, FlagType >::Flip ( )
inlineconstexprnoexcept

全ての値を反転させる

戻り値
自身の参照

◆ Flip() [2/2]

template<class EnumType , typename FlagType = uint32_t>
EnumBitFlags & MGL::EnumBitFlags< EnumType, FlagType >::Flip ( EnumType value)
inlineconstexprnoexcept

指定した値のフラグを反転させる

引数
[in]valueEnumTypeの型の値
戻り値
自身の参照

◆ GetValue()

template<class EnumType , typename FlagType = uint32_t>
const FlagType & MGL::EnumBitFlags< EnumType, FlagType >::GetValue ( ) const
inlinenodiscardconstexprnoexcept

フラグの値を取得

戻り値
フラグの値の参照

◆ Has()

template<class EnumType , typename FlagType = uint32_t>
bool MGL::EnumBitFlags< EnumType, FlagType >::Has ( EnumType value) const
inlinenodiscardconstexprnoexcept

指定した値を保持しているかを取得

引数
[in]valueEnumTypeの型の値
戻り値
true保持している
false保持していない

◆ HasAny()

template<class EnumType , typename FlagType = uint32_t>
bool MGL::EnumBitFlags< EnumType, FlagType >::HasAny ( ) const
inlinenodiscardconstexprnoexcept

いずれかの値を保持しているかを取得

戻り値
true保持している
false保持していない

◆ operator bool()

template<class EnumType , typename FlagType = uint32_t>
MGL::EnumBitFlags< EnumType, FlagType >::operator bool ( ) const
inlineexplicitconstexprnoexcept

bool型へのキャスト

戻り値
true値が非ゼロである
false値がゼロである

◆ operator!()

template<class EnumType , typename FlagType = uint32_t>
bool MGL::EnumBitFlags< EnumType, FlagType >::operator! ( ) const
inlineconstexprnoexcept

否定演算子

戻り値
true値がゼロである
false値が非ゼロである

◆ operator!=()

template<class EnumType , typename FlagType = uint32_t>
bool MGL::EnumBitFlags< EnumType, FlagType >::operator!= ( const EnumBitFlags< EnumType, FlagType > & rhs) const
inlineconstexprnoexcept

不等価演算子

戻り値
演算結果

◆ operator&() [1/2]

template<class EnumType , typename FlagType = uint32_t>
EnumBitFlags MGL::EnumBitFlags< EnumType, FlagType >::operator& ( const EnumBitFlags< EnumType, FlagType > & rhs) const
inlineconstexprnoexcept

自身の型との&演算子

引数
[in]rhs自身の型の値
戻り値
演算結果

◆ operator&() [2/2]

template<class EnumType , typename FlagType = uint32_t>
EnumBitFlags MGL::EnumBitFlags< EnumType, FlagType >::operator& ( EnumType rhs) const
inlineconstexprnoexcept

EnumType型との&演算子

引数
[in]rhsEnumTypeの型の値
戻り値
演算結果

◆ operator&=() [1/2]

template<class EnumType , typename FlagType = uint32_t>
EnumBitFlags & MGL::EnumBitFlags< EnumType, FlagType >::operator&= ( const EnumBitFlags< EnumType, FlagType > & rhs)
inlineconstexprnoexcept

自身の型との&=演算子

引数
[in]rhs自身の型の値
戻り値
自身の参照

◆ operator&=() [2/2]

template<class EnumType , typename FlagType = uint32_t>
EnumBitFlags & MGL::EnumBitFlags< EnumType, FlagType >::operator&= ( EnumType rhs)
inlineconstexprnoexcept

EnumType型との&=演算子

引数
[in]rhsEnumTypeの型の値
戻り値
自身の参照

◆ operator==()

template<class EnumType , typename FlagType = uint32_t>
bool MGL::EnumBitFlags< EnumType, FlagType >::operator== ( const EnumBitFlags< EnumType, FlagType > & rhs) const
inlineconstexprnoexcept

等価演算子

戻り値
演算結果

◆ operator^() [1/2]

template<class EnumType , typename FlagType = uint32_t>
EnumBitFlags MGL::EnumBitFlags< EnumType, FlagType >::operator^ ( const EnumBitFlags< EnumType, FlagType > & rhs) const
inlineconstexprnoexcept

自身の型との^演算子

引数
[in]rhs自身の型の値
戻り値
演算結果

◆ operator^() [2/2]

template<class EnumType , typename FlagType = uint32_t>
EnumBitFlags MGL::EnumBitFlags< EnumType, FlagType >::operator^ ( EnumType rhs) const
inlineconstexprnoexcept

EnumType型との^演算子

引数
[in]rhsEnumTypeの型の値
戻り値
演算結果

◆ operator^=() [1/2]

template<class EnumType , typename FlagType = uint32_t>
EnumBitFlags & MGL::EnumBitFlags< EnumType, FlagType >::operator^= ( const EnumBitFlags< EnumType, FlagType > & rhs)
inlineconstexprnoexcept

自身の型との^=演算子

引数
[in]rhs自身の型の値
戻り値
自身の参照

◆ operator^=() [2/2]

template<class EnumType , typename FlagType = uint32_t>
EnumBitFlags & MGL::EnumBitFlags< EnumType, FlagType >::operator^= ( EnumType rhs)
inlineconstexprnoexcept

EnumType型との^=演算子

引数
[in]rhsEnumTypeの型の値
戻り値
自身の参照

◆ operator|() [1/2]

template<class EnumType , typename FlagType = uint32_t>
EnumBitFlags MGL::EnumBitFlags< EnumType, FlagType >::operator| ( const EnumBitFlags< EnumType, FlagType > & rhs) const
inlineconstexprnoexcept

自身の型との|演算子

引数
[in]rhs自身の型の値
戻り値
演算結果

◆ operator|() [2/2]

template<class EnumType , typename FlagType = uint32_t>
EnumBitFlags MGL::EnumBitFlags< EnumType, FlagType >::operator| ( EnumType rhs) const
inlineconstexprnoexcept

EnumType型との|演算子

引数
[in]rhsEnumTypeの型の値
戻り値
演算結果

◆ operator|=() [1/2]

template<class EnumType , typename FlagType = uint32_t>
EnumBitFlags & MGL::EnumBitFlags< EnumType, FlagType >::operator|= ( const EnumBitFlags< EnumType, FlagType > & rhs)
inlineconstexprnoexcept

自身の型との|=演算子

引数
[in]rhs自身の型の値
戻り値
自身の参照

◆ operator|=() [2/2]

template<class EnumType , typename FlagType = uint32_t>
EnumBitFlags & MGL::EnumBitFlags< EnumType, FlagType >::operator|= ( EnumType rhs)
inlineconstexprnoexcept

EnumType型との|=演算子

引数
[in]rhsEnumTypeの型の値
戻り値
自身の参照

◆ operator~()

template<class EnumType , typename FlagType = uint32_t>
EnumBitFlags MGL::EnumBitFlags< EnumType, FlagType >::operator~ ( ) const
inlineconstexprnoexcept

~演算子(全てのビットの反転)

戻り値
演算結果

◆ Set()

template<class EnumType , typename FlagType = uint32_t>
EnumBitFlags & MGL::EnumBitFlags< EnumType, FlagType >::Set ( EnumType value)
inlineconstexprnoexcept

指定した値をセットする

引数
[in]valueEnumTypeの型の値
戻り値
自身の参照

このクラス詳解は次のファイルから抽出されました: