Module pleco::core::mono_traits[][src]

Traits and Dummy Types defined for various Enum types. Shouldn't be used in place of their enum representations.

This modules only use is to allow for compile-time mono-morphization of functions / methods, where each method created can be optimized further.

We are awaiting the stabilization of const fn to remove these traits.

Structs

AllGenType

Dummy type to represent a GenTypes::All which implements GenTypeTrait.

BishopType

Dummy type to represent a Piece::B which implements PieceTrait.

BlackType

Dummy type to represent a Player::Black which implements PlayerTrait.

CapturesGenType

Dummy type to represent a GenTypes::Captures which implements GenTypeTrait.

EvasionsGenType

Dummy type to represent a GenTypes::Evasions which implements GenTypeTrait.

KingType

Dummy type to represent a Piece::K which implements PieceTrait.

KnightType

Dummy type to represent a Piece::N which implements PieceTrait.

NonEvasionsGenType

Dummy type to represent a GenTypes::NonEvasions which implements GenTypeTrait.

PawnType

Dummy type to represent a Piece::P which implements PieceTrait.

QueenType

Dummy type to represent a Piece::Q which implements PieceTrait.

QuietChecksGenType

Dummy type to represent a GenTypes::QuietChecks which implements GenTypeTrait.

QuietsGenType

Dummy type to represent a GenTypes::Quiets which implements GenTypeTrait.

RookType

Dummy type to represent a Piece::R which implements PieceTrait.

WhiteType

Dummy type to represent a Player::White which implements PlayerTrait.

Traits

GenTypeTrait

A GenTypeTrait allows for specific functions in relation to a certain type of move generation.

PieceTrait

A PieceTrait allows for specific functions in relation to the type of move.

PlayerTrait

Defines a Player Trait, allowing for specific functions in relation to a certain player.