A chess piece type including color. More...
#include <Code.h>

Public Member Functions | |
Constructors | |
| Code (void) | |
| Construct a Code object initialized as 'nothing'. | |
| Code (Code const& code) | |
| Copy-constructor. | |
| Code (CodeData code) | |
| Construct a Code object from a constant. | |
| Code (Color const& color, Type const& type) | |
| Construct a Code object with color color and type type. | |
| Code (CwChessboardCode code) | |
| Explicit conversion from CwChessboardCode to Code. | |
Assigment operators | |
| Code& | operator= (Code const& code) |
| Assign from another Code. | |
| Code& | operator= (CodeData code) |
| Assign from a constant. | |
| Code& | operator= (Type const& type) |
| Change the type to type. Type may not be nothing (use clear() instead). | |
| Code& | operator= (Color const& color) |
| Change the color to color. | |
| void | clear (void) |
| Set the type to nothing. | |
Accessors | |
| bool | is_a_slider (void) const |
| Returns TRUE if the type is a bishop, rook or queen. | |
| bool | is_a_rookmover (void) const |
| Returns TRUE if the type is a rook or queen. | |
| bool | is_a_bishopmover (void) const |
| Returns TRUE if the type is a bishop or queen. | |
| bool | is_nothing (void) const |
| Returns TRUE if the code represents 'nothing'. | |
| bool | is_a (Type const& type) const |
| Returns TRUE if the type is equal. | |
| bool | is_a (TypeData type) const |
| Returns TRUE if the type is equal. | |
| bool | is (Color const& color) const |
| Return TRUE if the color is equal. | |
| bool | is (ColorData color) const |
| Return TRUE if the color is equal. | |
| bool | has_opposite_color_of (Code const& code) |
| Return TRUE if the colors are different. | |
| bool | moves_along (Direction const& direction) |
| Return TRUE if this piece moves along direction. | |
| Type | type (void) const |
| Return the Type of this Code. | |
| Color | color (void) const |
| Return the Color of this Code. | |
| uint8_t | operator() (void) const |
| Return the unlaying integral value. | |
Special functions | |
| void | toggle_color (void) |
| Toggle the color. May not be used on type 'nothing'. | |
| operator CwChessboardCode (void) const | |
| Casting operator. | |
Friends | |
Comparison operators | |
| bool | operator== (Code const& c1, Code const& c2) |
| bool | operator== (Code const& c1, CodeData c2) |
| bool | operator== (CodeData c1, Code const& c2) |
| bool | operator!= (Code const& c1, Code const& c2) |
| bool | operator!= (Code const& c1, CodeData c2) |
| bool | operator!= (CodeData c1, Code const& c2) |
Additional Inherited Members | |
Protected Attributes inherited from cwchess::CodeData | |
| uint8_t | M_bits |
| 0000CTTT, where C is the color and TTT the type. | |
A chess piece type including color.
This class represents a code for a chess piece that includes it's Type as well as it's Color.
See CodeData for defined constants.