libscid 0.1.0
Chess applications made easy.
Loading...
Searching...
No Matches
code.h
1#pragma once
2
3#include <cstdint>
4
5namespace scid::eco {
6
7using Code = std::uint16_t;
8using String = char[6];
9
10inline constexpr Code ECO_None = 0;
11
12void toString(Code ecoCode, char* ecoStr, bool extensions = true);
13inline void toBasicString(Code ecoCode, char* ecoStr) {
14 toString(ecoCode, ecoStr, false);
15}
16inline void toExtendedString(Code ecoCode, char* ecoStr) {
17 toString(ecoCode, ecoStr, true);
18}
19
20Code fromString(const char* ecoStr);
21Code lastSubCode(Code ecoCode);
22Code basicCode(Code ecoCode);
23Code reduce(Code ecoCode);
24
25} // namespace scid::eco