libscid 0.1.0
Chess applications made easy.
Loading...
Searching...
No Matches
movetext_location.h
1#pragma once
2
3#include <cstddef>
4#include <vector>
5
6namespace scid::core {
7
8class GameCursor;
9class MovetextCursor;
10
12public:
13 struct Step {
14 bool operator==(const Step&) const = default;
15
16 std::size_t nextIndex = 0;
17 std::size_t variationIndex = 0;
18 };
19
20 MovetextLocation() = default;
21
22 bool operator==(const MovetextLocation&) const = default;
23
24 const std::vector<Step>& path() const { return path_; }
25 std::size_t nextIndex() const { return nextIndex_; }
26
27private:
28 MovetextLocation(std::vector<Step> path, std::size_t nextIndex);
29
30 std::vector<Step> path_;
31 std::size_t nextIndex_ = 0;
32
33 friend class GameCursor;
34 friend class MovetextCursor;
35};
36
37} // namespace scid::core
Definition movetext_location.h:11
Definition movetext_location.h:13