My Project
osl::effect::NumBitmapEffect Class Reference

現在の定義 (2005/3/4以降) More...

#include <numBitmapEffect.h>

Inheritance diagram for osl::effect::NumBitmapEffect:
osl::PieceMask osl::container::PieceMask64

Public Types

enum  Op { Add , Sub }
 

Public Member Functions

 NumBitmapEffect ()
 
int countEffect (Player pl) const
 
template<Op OP>
NumBitmapEffectopEqual (NumBitmapEffect const &rhs)
 
const mask_t selectLong () const
 
bool hasLong () const
 
template<Ptype PTYPE>
const mask_t selectLong () const
 
template<Ptype PTYPE>
bool hasLong () const
 
template<Ptype PTYPE>
bool hasAny () const
 
- Public Member Functions inherited from osl::PieceMask
 PieceMask ()
 
 PieceMask (const PieceMaskBase &base)
 
void setMask (int index, mask_t val)
 
void xorMask (int index, mask_t val)
 
void orMask (int index, mask_t val)
 
bool test (int num) const
 
void set (int num)
 
void flip (int num)
 
void reset (int num)
 
bool any () const
 
const mask_t getMask (int num) const
 
template<Ptype PTYPE>
const mask_t getMask () const
 unpromote(PTYPE) の駒のbit を*含む*mask_tを取り出す
 
template<Ptype PTYPE>
const mask_t selectBit () const
 unpromote(PTYPE) の駒のbit だけ取り出す
 
template<Ptype PTYPE>
void clearBit ()
 unpromote(PTYPE) の駒のbit を消す
 
template<Ptype PTYPE>
void setBit ()
 unpromote(PTYPE) の駒のbit を立てる
 
- Public Member Functions inherited from osl::container::PieceMask64
 PieceMask64 ()
 
 PieceMask64 (misc::Mask64 const &m)
 
const misc::Mask64getMask (int) const
 
void resetAll ()
 
void setAll ()
 
PieceMask64operator^= (const PieceMask64 &o)
 
PieceMask64operator&= (const PieceMask64 &o)
 
PieceMask64operator|= (const PieceMask64 &o)
 
PieceMask64operator-= (const PieceMask64 &o)
 
PieceMask64operator+= (const PieceMask64 &o)
 
bool none () const
 
bool hasMultipleBit () const
 
int countBit2 () const
 bit の数を2まで数える
 
int countBit () const
 
int takeOneBit ()
 

Static Public Member Functions

template<Player P>
static NumBitmapEffect playerEffect ()
 
static NumBitmapEffect playerEffect (Player pl)
 
template<Player P>
static mask_t playerEffectMask ()
 
static mask_t playerEffectMask (Player pl)
 
template<Player P>
static NumBitmapEffect makeEffect (int num)
 
static const mask_t longEffectMask ()
 
static const mask_t makeLongMask (int num)
 
template<Player P>
static NumBitmapEffect makeLongEffect (int num)
 
static NumBitmapEffect makeLongEffect (Player pl, int num)
 
- Static Public Member Functions inherited from osl::PieceMask
static const mask_t numToMask (int num)
 
- Static Public Member Functions inherited from osl::container::PieceMask64
static int numToIndex (int)
 
static int numToOffset (int num)
 

Additional Inherited Members

- Protected Member Functions inherited from osl::container::PieceMask64
misc::Mask64mutableMask (int)
 
- Protected Attributes inherited from osl::container::PieceMask64
Mask64 mask
 

Detailed Description

現在の定義 (2005/3/4以降)

  • 0-39 : 0-39の利き
  • 40-47 : 32-39の長い利き
  • 48-53 : 黒の利きの数(sentinelを合わせて6bit)
  • 54-59 : 白の利きの数(sentinelを合わせて6bit)

以前の定義 (2004/4/13以降)

  • 0-39 : 0-39の利き
  • 40-47 : 32-39の長い利き

以前の定義

  • 0-31 : 0-31の直接効き
  • 32-39 : 32-39の短い効き(obsolete および32-39の短い間接効き)
  • 40-47 : 32-39の長い効き(obsoleteおよび32-39の長い間接効き)

Definition at line 28 of file numBitmapEffect.h.

Member Enumeration Documentation

◆ Op

Enumerator
Add 
Sub 

Definition at line 95 of file numBitmapEffect.h.

Constructor & Destructor Documentation

◆ NumBitmapEffect()

osl::effect::NumBitmapEffect::NumBitmapEffect ( )
inline

Definition at line 31 of file numBitmapEffect.h.

References osl::container::PieceMask64::resetAll().

Member Function Documentation

◆ countEffect()

◆ hasAny()

template<Ptype PTYPE>
bool osl::effect::NumBitmapEffect::hasAny ( ) const
inline

◆ hasLong() [1/2]

bool osl::effect::NumBitmapEffect::hasLong ( ) const
inline

Definition at line 142 of file numBitmapEffect.h.

References osl::misc::GeneralMask< Integer >::any(), and selectLong().

◆ hasLong() [2/2]

template<Ptype PTYPE>
bool osl::effect::NumBitmapEffect::hasLong ( ) const
inline

Definition at line 151 of file numBitmapEffect.h.

References osl::misc::GeneralMask< Integer >::any(), and selectLong().

◆ longEffectMask()

static const mask_t osl::effect::NumBitmapEffect::longEffectMask ( )
inlinestatic

◆ makeEffect()

template<Player P>
static NumBitmapEffect osl::effect::NumBitmapEffect::makeEffect ( int num)
inlinestatic

◆ makeLongEffect() [1/2]

template<Player P>
static NumBitmapEffect osl::effect::NumBitmapEffect::makeLongEffect ( int num)
inlinestatic

◆ makeLongEffect() [2/2]

static NumBitmapEffect osl::effect::NumBitmapEffect::makeLongEffect ( Player pl,
int num )
inlinestatic

Definition at line 130 of file numBitmapEffect.h.

References makeLongMask(), osl::PieceMask::orMask(), and playerEffect().

◆ makeLongMask()

static const mask_t osl::effect::NumBitmapEffect::makeLongMask ( int num)
inlinestatic

◆ opEqual()

template<Op OP>
NumBitmapEffect & osl::effect::NumBitmapEffect::opEqual ( NumBitmapEffect const & rhs)
inline

Definition at line 99 of file numBitmapEffect.h.

References Add.

◆ playerEffect() [1/2]

template<Player P>
static NumBitmapEffect osl::effect::NumBitmapEffect::playerEffect ( )
inlinestatic

◆ playerEffect() [2/2]

static NumBitmapEffect osl::effect::NumBitmapEffect::playerEffect ( Player pl)
inlinestatic

◆ playerEffectMask() [1/2]

◆ playerEffectMask() [2/2]

static mask_t osl::effect::NumBitmapEffect::playerEffectMask ( Player pl)
inlinestatic

◆ selectLong() [1/2]

const mask_t osl::effect::NumBitmapEffect::selectLong ( ) const
inline

◆ selectLong() [2/2]

template<Ptype PTYPE>
const mask_t osl::effect::NumBitmapEffect::selectLong ( ) const
inline

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