Belofte version 2.1.8
A promising chess program using the UCI or Winboard interface
bEmptyPiece Class Referencefinal

#include <piece.h>

+ Inheritance diagram for bEmptyPiece:
+ Collaboration diagram for bEmptyPiece:

Public Member Functions

 bEmptyPiece ()
 
 ~bEmptyPiece () final
 
bool canMovePreflightCheck (bBoard &b, case_t const &cf, int8_t const ri, int8_t const ci) const final
 
bool canMovePreflightCheck (bBoard &b, case_t const &cf, int8_t const ri, int8_t const ci, piece_t const cPromotion) const final
 
bool isAttacked (bBoard const &b, case_t const &cf) const final
 
movenum_t addMove (bBoard const &b, case_t const &cf, int8_t const ri, int8_t const ci, bMoveList &ml) const final
 
movenum_t addMoves (bBoard const &b, case_t const &cf, int8_t const ri, int8_t const ci, bMoveList &ml) const final
 
bool hasValidMovePreflightCheck (bBoard &b, case_t const &cf) final
 
movenum_t GenerateMoves (bBoard const &b, case_t const &cf, bMoveList &ml) final
 
- Public Member Functions inherited from bPiece
 bPiece ()
 
 bPiece (piece_t p)
 
virtual ~bPiece ()
 
 bPiece (bPiece &&)=default
 
 bPiece (bPiece const &)=delete
 
bPieceoperator= (bPiece const &)=delete
 
bPieceoperator= (bPiece &&)=delete
 
piece_t getPiece () const
 
virtual bool hasValidMovePreflightCheck (bBoard &b UNUSED, case_t const &cf UNUSED)=0
 
virtual movenum_t GenerateMoves (bBoard const &b UNUSED, case_t const &cf UNUSED, bMoveList &ml UNUSED)=0
 
side_t toMove () const
 
- Public Member Functions inherited from bPieceColour
 bPieceColour (side_t s)
 
virtual ~bPieceColour ()
 
 bPieceColour (bPieceColour const &)=delete
 
 bPieceColour (bPieceColour &&)=delete
 
bPieceColouroperator= (bPieceColour const &)=delete
 
bPieceColouroperator= (bPieceColour &&)=delete
 
bool isWhite () const
 
bool isBlack () const
 
bool isEmpty () const
 
side_t invert ()
 
side_t opponent () const
 
side_t toMove () const
 

Additional Inherited Members

- Static Public Member Functions inherited from bPiece
static piece_t getPiece (cpiece_t const p)
 static class member function
 
static cpiece_t getPieceChar (piece_t const p)
 static class member function
 
static bPiecegetPieceClass (piece_t const piece)
 static class member function
 
static const std::string getPieceStrUpper (piece_t const piece)
 static class member function
 
static bool isOpponent (side_t const s, piece_t const p)
 static class member function
 
static bool isOwnColour (side_t const s, piece_t const p)
 static class member function
 
static bool isWhitePiece (piece_t const p)
 static class member function
 
static bool isBlackPiece (piece_t const p)
 static class member function
 
- Protected Member Functions inherited from bPieceColour
bool isAttackedByPiece (bBoard const &b, column_t const fromcol, rank_t const fromrank, piece_t const cPiece, int8_t const ri, int8_t const ci) const
 Return true if position is attacked by opponent respecting move offsets.
 
bool isAttackedBySlider (bBoard const &b, column_t const fromcol, rank_t const fromrank, piece_t const cPiece, piece_t const cPiece2, int8_t const ri, int8_t const ci) const
 Return true if position is attacked by opponent respecting move offsets.
 
- Protected Attributes inherited from bPieceColour
side_t m_side = tSide::SIDE_UNDEFINED
 

Detailed Description

Todo:
Candidate for template implementation

Definition at line 226 of file piece.h.

Constructor & Destructor Documentation

◆ bEmptyPiece()

bEmptyPiece::bEmptyPiece ( )
inline

Definition at line 228 of file piece.h.

◆ ~bEmptyPiece()

bEmptyPiece::~bEmptyPiece ( )
inlinefinal

Definition at line 229 of file piece.h.

Member Function Documentation

◆ canMovePreflightCheck() [1/2]

bool bEmptyPiece::canMovePreflightCheck ( bBoard b,
case_t const &  cf,
int8_t const  ri,
int8_t const  ci 
) const
inlinefinalvirtual

Implements bPieceColour.

Definition at line 231 of file piece.h.

◆ canMovePreflightCheck() [2/2]

bool bEmptyPiece::canMovePreflightCheck ( bBoard b,
case_t const &  cf,
int8_t const  ri,
int8_t const  ci,
piece_t const  cPromotion 
) const
inlinefinalvirtual

Implements bPieceColour.

Definition at line 235 of file piece.h.

◆ isAttacked()

bool bEmptyPiece::isAttacked ( bBoard const &  b,
case_t const &  cf 
) const
inlinefinalvirtual

Implements bPieceColour.

Definition at line 240 of file piece.h.

◆ addMove()

movenum_t bEmptyPiece::addMove ( bBoard const &  b,
case_t const &  cf,
int8_t const  ri,
int8_t const  ci,
bMoveList ml 
) const
inlinefinalvirtual

Implements bPieceColour.

Definition at line 242 of file piece.h.

◆ addMoves()

movenum_t bEmptyPiece::addMoves ( bBoard const &  b,
case_t const &  cf,
int8_t const  ri,
int8_t const  ci,
bMoveList ml 
) const
inlinefinalvirtual

Implements bPieceColour.

Definition at line 245 of file piece.h.

◆ hasValidMovePreflightCheck()

bool bEmptyPiece::hasValidMovePreflightCheck ( bBoard b,
case_t const &  cf 
)
inlinefinal

Definition at line 248 of file piece.h.

◆ GenerateMoves()

movenum_t bEmptyPiece::GenerateMoves ( bBoard const &  b,
case_t const &  cf,
bMoveList ml 
)
inlinefinal

Definition at line 250 of file piece.h.