#include <mask.h>
Public Member Functions | |
GeneralMask () | |
GeneralMask & | operator&= (const GeneralMask &r) |
GeneralMask & | operator|= (const GeneralMask &r) |
GeneralMask & | operator^= (const GeneralMask &r) |
GeneralMask & | operator-= (const GeneralMask &r) |
GeneralMask & | operator+= (const GeneralMask &r) |
GeneralMask & | operator<<= (int shift) |
GeneralMask & | operator>>= (int shift) |
const GeneralMask | operator~ () const |
int | bsf () const |
int | bsr () const |
int | takeOneBit () |
non-zeroのmaskのsetされているビットをLSBから探し,その番号を返す 副作用としてmaskの対応するビットをクリアする More... | |
bool | hasMultipleBit () const |
non-zeroのmaskが複数ビットセットされているかどうかを返す. More... | |
int | countBit2 () const |
non-zeroのmaskにセットされているビットの数を2まで数える. More... | |
int | countBit () const |
mask にセットされているビットの数を数える. あまり速くない. More... | |
GeneralMask | lowestBit () const |
non-zeroのmaskのsetされているビットをLSBから探し,そのビットだけがsetされたmaskを返す. More... | |
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 |
|
inlineprivate |
|
inline |
Definition at line 20 of file mask.h.
Referenced by osl::misc::GeneralMask< Integer >::makeDirect(), and osl::misc::GeneralMask< Integer >::operator~().
|
inline |
Definition at line 100 of file mask.h.
References osl::misc::GeneralMask< Integer >::none().
|
inline |
Definition at line 59 of file mask.h.
References osl::misc::BitOp::bsf(), and osl::misc::GeneralMask< Integer >::mask.
|
inline |
Definition at line 60 of file mask.h.
References osl::misc::BitOp::bsr(), and osl::misc::GeneralMask< Integer >::mask.
|
inline |
mask にセットされているビットの数を数える. あまり速くない.
Definition at line 92 of file mask.h.
References osl::misc::BitOp::countBit(), and osl::misc::GeneralMask< Integer >::mask.
Referenced by osl::container::PieceMask64::countBit().
|
inline |
non-zeroのmaskにセットされているビットの数を2まで数える.
mask | - 対象とするデータ(non-zero) |
Definition at line 80 of file mask.h.
References osl::misc::GeneralMask< Integer >::mask.
Referenced by osl::container::PieceMask64::countBit2().
|
inline |
non-zeroのmaskが複数ビットセットされているかどうかを返す.
mask | - 対象とするデータ(non-zero) |
Definition at line 74 of file mask.h.
References osl::misc::BitOp::hasMultipleBit(), and osl::misc::GeneralMask< Integer >::mask.
Referenced by osl::container::PieceMask64::hasMultipleBit().
|
inline |
non-zeroのmaskのsetされているビットをLSBから探し,そのビットだけがsetされたmaskを返す.
mask | - 対象とするデータ(non-zero) |
Definition at line 98 of file mask.h.
References osl::misc::BitOp::lowestBit(), and osl::misc::GeneralMask< Integer >::mask.
|
inlinestatic |
Definition at line 21 of file mask.h.
References osl::misc::GeneralMask< Integer >::GeneralMask().
Referenced by osl::container::PieceMask64::resetAll(), osl::container::PieceMask32::resetAll(), osl::container::PieceMask64::setAll(), and osl::container::PieceMask32::setAll().
|
inline |
Definition at line 99 of file mask.h.
References osl::misc::GeneralMask< Integer >::mask.
Referenced by osl::misc::GeneralMask< Integer >::any(), and osl::container::PieceMask64::none().
|
inline |
Definition at line 22 of file mask.h.
References osl::misc::GeneralMask< Integer >::mask.
|
inline |
Definition at line 42 of file mask.h.
References osl::misc::GeneralMask< Integer >::mask.
|
inline |
Definition at line 37 of file mask.h.
References osl::misc::GeneralMask< Integer >::mask.
|
inline |
Definition at line 47 of file mask.h.
References osl::misc::GeneralMask< Integer >::mask.
|
inline |
Definition at line 52 of file mask.h.
References osl::misc::GeneralMask< Integer >::mask.
|
inline |
Definition at line 32 of file mask.h.
References osl::misc::GeneralMask< Integer >::mask.
|
inline |
Definition at line 27 of file mask.h.
References osl::misc::GeneralMask< Integer >::mask.
|
inline |
Definition at line 57 of file mask.h.
References osl::misc::GeneralMask< Integer >::GeneralMask(), and osl::misc::GeneralMask< Integer >::mask.
|
inline |
non-zeroのmaskのsetされているビットをLSBから探し,その番号を返す 副作用としてmaskの対応するビットをクリアする
mask | - 対象とするデータ(non-zero) |
Definition at line 67 of file mask.h.
References osl::misc::GeneralMask< Integer >::mask, and osl::misc::BitOp::takeOneBit().
Referenced by osl::container::PieceMask64::takeOneBit().
|
inline |
Definition at line 101 of file mask.h.
References osl::misc::GeneralMask< Integer >::mask.
Referenced by osl::misc::operator<(), and osl::misc::operator==().
|
private |
Definition at line 16 of file mask.h.
Referenced by osl::misc::GeneralMask< Integer >::bsf(), osl::misc::GeneralMask< Integer >::bsr(), osl::misc::GeneralMask< Integer >::countBit(), osl::misc::GeneralMask< Integer >::countBit2(), osl::misc::GeneralMask< Integer >::hasMultipleBit(), osl::misc::GeneralMask< Integer >::lowestBit(), osl::misc::GeneralMask< Integer >::none(), osl::misc::GeneralMask< Integer >::operator&=(), osl::misc::GeneralMask< Integer >::operator+=(), osl::misc::GeneralMask< Integer >::operator-=(), osl::misc::GeneralMask< Integer >::operator<<=(), osl::misc::GeneralMask< Integer >::operator>>=(), osl::misc::GeneralMask< Integer >::operator^=(), osl::misc::GeneralMask< Integer >::operator|=(), osl::misc::GeneralMask< Integer >::operator~(), osl::misc::GeneralMask< Integer >::takeOneBit(), and osl::misc::GeneralMask< Integer >::value().