libscid 0.1.0
Chess applications made easy.
Loading...
Searching...
No Matches
common.h
1
2//
3// FILE: common.h
4// Common macros, structures and constants.
5//
6// Part of: Scid (Shane's Chess Information Database)
7// Version: 3.6.6
8//
9// Notice: Copyright (c) 2000-2004 Shane Hudson. All rights reserved.
10//
11// Author: Shane Hudson (sgh@users.sourceforge.net)
12// Copyright (c) 2006-2007 Pascal Georges
13//
15
16#ifndef SCID_COMMON_H
17#define SCID_COMMON_H
18
19#include "scid/core/board.h"
20#include "scid/core/error.h"
21#include "scid/core/rating.h"
22#include <assert.h>
23#include <cstddef>
24#include <cstdint>
25#define ASSERT(f) assert(f)
26
27
28// Version: div by 100 for major number, modulo 100 for minor number
29// so 109 = 1.9, 110 = 1.10, etc.
30namespace scid::database {
31
32typedef unsigned short versionT;
33const versionT SCID_VERSION = 400; // Current file format version = 4.0
34
35using EcoCode = std::uint16_t;
36inline constexpr EcoCode ECO_CODE_NONE = 0;
37
38
39//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
40// TYPE DEFINITIONS
41
42enum fileModeT {
43 FMODE_None = 0,
44 FMODE_ReadOnly,
45 FMODE_WriteOnly,
46 FMODE_Both,
47 FMODE_Create
48};
49
50
51} // namespace scid::database
52#endif // #ifdef SCID_COMMON_H
53
55// EOF: common.h
Chess board constants, piece helpers, square geometry, and directions.
Shared status and error codes.
class StrRange - parse a string interpreting its content as 1 or 2 integers separated by whitespace.
Definition common.h:30