My Project
osl::misc::GeneralMask< Integer > Class Template Reference

#include <mask.h>

Public Member Functions

 GeneralMask ()
GeneralMaskoperator&= (const GeneralMask &r)
GeneralMaskoperator|= (const GeneralMask &r)
GeneralMaskoperator^= (const GeneralMask &r)
GeneralMaskoperator-= (const GeneralMask &r)
GeneralMaskoperator+= (const GeneralMask &r)
GeneralMaskoperator<<= (int shift)
GeneralMaskoperator>>= (int shift)
const GeneralMask operator~ () const
int bsf () const
int bsr () const
int takeOneBit ()
 non-zeroのmaskのsetされているビットをLSBから探し,その番号を返す 副作用としてmaskの対応するビットをクリアする
bool hasMultipleBit () const
 non-zeroのmaskが複数ビットセットされているかどうかを返す.
int countBit2 () const
 non-zeroのmaskにセットされているビットの数を2まで数える.
int countBit () const
 mask にセットされているビットの数を数える. あまり速くない.
GeneralMask lowestBit () const
 non-zeroのmaskのsetされているビットをLSBから探し,そのビットだけがsetされたmaskを返す.
bool none () const
bool any () const
Integer value () const

Static Public Member Functions

static const GeneralMask makeDirect (Integer value)

Private Member Functions

 GeneralMask (Integer value)

Private Attributes

Integer mask

Detailed Description

template<class Integer>
class osl::misc::GeneralMask< Integer >

Definition at line 212 of file mask.h.

Constructor & Destructor Documentation

◆ GeneralMask() [1/2]

template<class Integer>
osl::misc::GeneralMask< Integer >::GeneralMask ( Integer value)
inlineprivate

Definition at line 216 of file mask.h.

◆ GeneralMask() [2/2]

template<class Integer>
osl::misc::GeneralMask< Integer >::GeneralMask ( )
inline

Member Function Documentation

◆ any()

◆ bsf()

template<class Integer>
int osl::misc::GeneralMask< Integer >::bsf ( ) const
inline

◆ bsr()

template<class Integer>
int osl::misc::GeneralMask< Integer >::bsr ( ) const
inline

Definition at line 258 of file mask.h.

Referenced by osl::NumEffectState::findThreatenedPiece().

◆ countBit()

template<class Integer>
int osl::misc::GeneralMask< Integer >::countBit ( ) const
inline

mask にセットされているビットの数を数える. あまり速くない.

Definition at line 290 of file mask.h.

Referenced by osl::ki2::show().

◆ countBit2()

template<class Integer>
int osl::misc::GeneralMask< Integer >::countBit2 ( ) const
inline

non-zeroのmaskにセットされているビットの数を2まで数える.

Parameters
mask- 対象とするデータ(non-zero)
Returns
1,2 (2の場合は2以上)

Definition at line 278 of file mask.h.

◆ hasMultipleBit()

template<class Integer>
bool osl::misc::GeneralMask< Integer >::hasMultipleBit ( ) const
inline

non-zeroのmaskが複数ビットセットされているかどうかを返す.

Parameters
mask- 対象とするデータ(non-zero)
Returns
- 複数ビットがセットされているか?

Definition at line 272 of file mask.h.

Referenced by osl::NumEffectState::hasEffectAt().

◆ lowestBit()

template<class Integer>
GeneralMask osl::misc::GeneralMask< Integer >::lowestBit ( ) const
inline

non-zeroのmaskのsetされているビットをLSBから探し,そのビットだけがsetされたmaskを返す.

Parameters
mask- 対象とするデータ(non-zero)
Returns
- そのビットだけがsetされたmask

Definition at line 296 of file mask.h.

Referenced by osl::NumEffectState::prologueDrop().

◆ makeDirect()

template<class Integer>
const GeneralMask osl::misc::GeneralMask< Integer >::makeDirect ( Integer value)
inlinestatic

Definition at line 219 of file mask.h.

◆ none()

◆ operator&=()

template<class Integer>
GeneralMask & osl::misc::GeneralMask< Integer >::operator&= ( const GeneralMask< Integer > & r)
inline

Definition at line 220 of file mask.h.

◆ operator+=()

template<class Integer>
GeneralMask & osl::misc::GeneralMask< Integer >::operator+= ( const GeneralMask< Integer > & r)
inline

Definition at line 240 of file mask.h.

◆ operator-=()

template<class Integer>
GeneralMask & osl::misc::GeneralMask< Integer >::operator-= ( const GeneralMask< Integer > & r)
inline

Definition at line 235 of file mask.h.

◆ operator<<=()

template<class Integer>
GeneralMask & osl::misc::GeneralMask< Integer >::operator<<= ( int shift)
inline

Definition at line 245 of file mask.h.

◆ operator>>=()

template<class Integer>
GeneralMask & osl::misc::GeneralMask< Integer >::operator>>= ( int shift)
inline

Definition at line 250 of file mask.h.

◆ operator^=()

template<class Integer>
GeneralMask & osl::misc::GeneralMask< Integer >::operator^= ( const GeneralMask< Integer > & r)
inline

Definition at line 230 of file mask.h.

◆ operator|=()

template<class Integer>
GeneralMask & osl::misc::GeneralMask< Integer >::operator|= ( const GeneralMask< Integer > & r)
inline

Definition at line 225 of file mask.h.

◆ operator~()

template<class Integer>
const GeneralMask osl::misc::GeneralMask< Integer >::operator~ ( ) const
inline

Definition at line 255 of file mask.h.

◆ takeOneBit()

◆ value()

template<class Integer>
Integer osl::misc::GeneralMask< Integer >::value ( ) const
inline

Member Data Documentation

◆ mask


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