Chess 0.0.1
A library written in c
Loading...
Searching...
No Matches
castling_rights.h
Go to the documentation of this file.
1
8#ifndef CHESS_CASTLING_RIGHTS_H_INCLUDED
9#define CHESS_CASTLING_RIGHTS_H_INCLUDED
10
11#include <chess/macros.h>
12
13#if !defined(__STDC_VERSION__) || __STDC_VERSION__ < 202311L
14 #include <stdbool.h>
15#endif
16#include <stdint.h>
17
35
41
48
49#endif // CHESS_CASTLING_RIGHTS_H_INCLUDED
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