1 #ifndef _OSL_RECORD_CHECK_DUPLICATE_H 2 #define _OSL_RECORD_CHECK_DUPLICATE_H 8 #include <unordered_map> 32 static std::pair<HashKey,PathEncoding>
getLastState(
const std::vector<Move>& moves);
49 duplicated_hash_counter(0),
50 duplicated_moves_counter(0)
67 void print(std::ostream& out)
const;
void print(std::ostream &out) const
Output the result.
size_t duplicated_moves_counter
counter for exact matches of moves
DUPLICATE_RESULT regist(const std::vector< Move > &moves)
Insert a key if the key is new.
size_t getRegists() const
Return a couter of registings (trials)
std::unordered_map< HashKey, std::vector< PathEncoding >, std::hash< HashKey > > keymap_t
size_t duplicated_hash_counter
counter for hash matches with different moves
Container of moves to check duplicated games.
keymap_t keys
container of moves
CheckDuplicate()
Constructor.
static std::pair< HashKey, PathEncoding > getLastState(const std::vector< Move > &moves)
size_t getDuplicatedHash() const
Return a counter of duplicated ending states.
size_t getDuplicatedMoves() const
Return a counter of duplicated moves.
size_t regist_counter
couter for registing (trials)
DUPLICATE_RESULT
Result type of checking duplicates.