All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines
Public Member Functions | Static Public Member Functions | Private Member Functions | Private Attributes
osl::misc::GeneralMask< Integer > Class Template Reference

#include <mask.h>

List of all members.

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 14 of file mask.h.


Constructor & Destructor Documentation

template<class Integer>
osl::misc::GeneralMask< Integer >::GeneralMask ( Integer  value) [inline, private]

Definition at line 18 of file mask.h.

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

Member Function Documentation

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

Definition at line 100 of file mask.h.

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

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

Definition at line 59 of file mask.h.

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

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

Definition at line 60 of file mask.h.

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

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

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

Definition at line 92 of file mask.h.

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

Referenced by osl::container::PieceMask64::countBit().

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 80 of file mask.h.

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

Referenced by osl::container::PieceMask64::countBit2().

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

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

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

Definition at line 74 of file mask.h.

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

Referenced by osl::container::PieceMask64::hasMultipleBit().

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 98 of file mask.h.

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

template<class Integer>
static const GeneralMask osl::misc::GeneralMask< Integer >::makeDirect ( Integer  value) [inline, static]
template<class Integer>
bool osl::misc::GeneralMask< Integer >::none ( ) const [inline]
template<class Integer>
GeneralMask& osl::misc::GeneralMask< Integer >::operator&= ( const GeneralMask< Integer > &  r) [inline]

Definition at line 22 of file mask.h.

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

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

Definition at line 42 of file mask.h.

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

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

Definition at line 37 of file mask.h.

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

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

Definition at line 47 of file mask.h.

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

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

Definition at line 52 of file mask.h.

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

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

Definition at line 32 of file mask.h.

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

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

Definition at line 27 of file mask.h.

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

template<class Integer>
const GeneralMask osl::misc::GeneralMask< Integer >::operator~ ( ) const [inline]
template<class Integer>
int osl::misc::GeneralMask< Integer >::takeOneBit ( ) [inline]

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

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

Definition at line 67 of file mask.h.

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

Referenced by osl::container::PieceMask64::takeOneBit().

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

Definition at line 101 of file mask.h.

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

Referenced by osl::misc::operator<(), and osl::misc::operator==().


Member Data Documentation

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

The documentation for this class was generated from the following file:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines