-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathprinters.h
More file actions
19 lines (18 loc) · 902 Bytes
/
printers.h
File metadata and controls
19 lines (18 loc) · 902 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#pragma once
#include "fwd_decl.h"
#include <cstdint>
#include <iosfwd>
#include <type_traits>
namespace chess {
// disclaimer: please don't pass Chess960 moves for move functions, use uci::uciToMove
std::ostream &operator<<(std::ostream &os, const Move mv);
std::ostream &operator<<(std::ostream &os, const Color c);
std::ostream &operator<<(std::ostream &os, const CastlingRights cr);
template <typename PieceC, typename = std::enable_if_t<is_piece_enum<PieceC>::value>>
std::ostream &operator<<(std::ostream &os, PieceC p);
std::ostream &operator<<(std::ostream &os, const Square sq);
std::ostream &operator<<(std::ostream &os, const PieceType pt);
template <typename T, typename> class _Position;
template <typename PieceC = EnginePiece, typename = std::enable_if_t<is_piece_enum<PieceC>::value>>
std::ostream &operator<<(std::ostream &os, const _Position<PieceC, void> &pos);
} // namespace chess