8#ifndef CHESS_CASTLING_RIGHTS_H_INCLUDED
9#define CHESS_CASTLING_RIGHTS_H_INCLUDED
13#if !defined(__STDC_VERSION__) || __STDC_VERSION__ < 202311L
ChessCastlingRights
Represents the castling rights in a chess game.
Definition castling_rights.h:22
@ CHESS_CASTLING_RIGHTS_NONE
Definition castling_rights.h:23
@ CHESS_CASTLING_RIGHTS_WHITE
Definition castling_rights.h:30
@ CHESS_CASTLING_RIGHTS_WHITE_KINGSIDE
Definition castling_rights.h:25
@ CHESS_CASTLING_RIGHTS_ALL
Definition castling_rights.h:33
@ CHESS_CASTLING_RIGHTS_WHITE_QUEENSIDE
Definition castling_rights.h:26
@ CHESS_CASTLING_RIGHTS_BLACK_QUEENSIDE
Definition castling_rights.h:28
@ CHESS_CASTLING_RIGHTS_BLACK
Definition castling_rights.h:31
@ CHESS_CASTLING_RIGHTS_BLACK_KINGSIDE
Definition castling_rights.h:27
bool chess_castling_rights_is_valid(ChessCastlingRights rights)
Checks if the given castling rights are valid.
void chess_castling_rights_debug(ChessCastlingRights rights)
Prints a debug representation of the given castling rights.
Defines macros and constants for the library.
#define CHESS_ENUM(type, name)
Defines a typed enum or a typedef enum based on the availability of typed enums in the compiler.
Definition macros.h:84