Conquer Chess
Chess and Starcraft combined
Loading...
Searching...
No Matches
piece_id.h
Go to the documentation of this file.
1#ifndef PIECE_ID_H
2#define PIECE_ID_H
3
4#include <iosfwd>
5
12{
13public:
14 int get() const noexcept { return m_value; }
15
16private:
17 piece_id();
18
19 static int sm_next_value;
20
21 int m_value;
22
23 friend piece_id create_new_id() noexcept;
24};
25
26piece_id create_new_id() noexcept;
27
29void test_id();
30
31bool operator==(const piece_id& lhs, const piece_id& rhs) noexcept;
32bool operator!=(const piece_id& lhs, const piece_id& rhs) noexcept;
33
34std::ostream& operator<<(std::ostream& os, const piece_id& i) noexcept;
35
36#endif // PIECE_ID_H
A unique ID.
Definition piece_id.h:12
int get() const noexcept
Definition piece_id.h:14
friend piece_id create_new_id() noexcept
Definition piece_id.cpp:16
void test_id()
Test this class and its free functions.
Definition piece_id.cpp:21