My Project
Public Member Functions | Static Public Member Functions | Private Member Functions | Private Attributes | List of all members
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()

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

Definition at line 298 of file mask.h.

References osl::misc::GeneralMask< Integer >::none().

◆ bsf()

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

Definition at line 257 of file mask.h.

References osl::misc::BitOp::bsf(), and osl::misc::GeneralMask< Integer >::mask.

◆ bsr()

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

Definition at line 258 of file mask.h.

References osl::misc::BitOp::bsr(), and osl::misc::GeneralMask< Integer >::mask.

◆ countBit()

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

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

Definition at line 290 of file mask.h.

References osl::misc::BitOp::countBit(), and osl::misc::GeneralMask< Integer >::mask.

◆ 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.

References osl::misc::GeneralMask< Integer >::mask.

◆ 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.

References osl::misc::BitOp::hasMultipleBit(), and osl::misc::GeneralMask< Integer >::mask.

◆ 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.

References osl::misc::BitOp::lowestBit(), and osl::misc::GeneralMask< Integer >::mask.

◆ makeDirect()

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

◆ none()

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

Definition at line 297 of file mask.h.

References osl::misc::GeneralMask< Integer >::mask.

Referenced by osl::misc::GeneralMask< Integer >::any().

◆ operator&=()

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

Definition at line 220 of file mask.h.

References osl::misc::GeneralMask< Integer >::mask.

◆ operator+=()

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

Definition at line 240 of file mask.h.

References osl::misc::GeneralMask< Integer >::mask.

◆ operator-=()

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

Definition at line 235 of file mask.h.

References osl::misc::GeneralMask< Integer >::mask.

◆ operator<<=()

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

Definition at line 245 of file mask.h.

References osl::misc::GeneralMask< Integer >::mask.

◆ operator>>=()

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

Definition at line 250 of file mask.h.

References osl::misc::GeneralMask< Integer >::mask.

◆ operator^=()

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

Definition at line 230 of file mask.h.

References osl::misc::GeneralMask< Integer >::mask.

◆ operator|=()

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

Definition at line 225 of file mask.h.

References osl::misc::GeneralMask< Integer >::mask.

◆ operator~()

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

◆ takeOneBit()

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

non-zeroのmaskのsetされているビットをLSBから探し,その番号を返す 副作用としてmaskの対応するビットをクリアする

Parameters
mask- 対象とするデータ(non-zero)
Returns
- どのビットか

Definition at line 265 of file mask.h.

References osl::misc::GeneralMask< Integer >::mask, and osl::misc::BitOp::takeOneBit().

◆ value()

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

Member Data Documentation

◆ mask

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

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