-
Notifications
You must be signed in to change notification settings - Fork 3
/
Copy pathVariation.h
52 lines (40 loc) · 1.22 KB
/
Variation.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
// $Id$
// Copyright Daniel Lidstrom
// All Rights Reserved
// This file is distributed subject to GNU GPL version 2. See the files
// Copying.txt and GPL.txt for details.
//! @file Variation.h
//! Brief.
//! @author Daniel Lidstrom <[email protected]>
//! @date 2010-04-06 11:23
//! @ingroup
//!
#if !defined(VARIATION_H__20100406T1123)
#define VARIATION_H__20100406T1123
#include "Fwd.h"
#include <vector>
#include <iosfwd>
//!
//! @author Daniel Lidstrom <[email protected]>
//! @date 2010-04-06 11:23
//! @ingroup
//! Brief.
//!
struct Variation
{
Variation();
Variation(int delta, int bestScore, const std::vector<CMove>& moves);
void PlayMoves(CGame& game) const;
bool operator<(const Variation& right) const;
bool operator==(const Variation& right) const;
friend std::ostream& operator<<(std::ostream&, const Variation&);
void OutputGGF(std::ostream&) const;
template<class Archive>
void serialize(Archive& archive, const unsigned int version);
bool IsDraw() const;
std::size_t Length() const;
struct Impl;
std::shared_ptr<Impl> mImpl;
};
void WriteVariations(const VariationCollection& variations, const char* filename);
#endif