Go to the documentation of this file. 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);
67 void print(std::ostream& out)
const;
std::unordered_map< HashKey, std::vector< PathEncoding >, std::hash< HashKey > > keymap_t
DUPLICATE_RESULT
Result type of checking duplicates.
static std::pair< HashKey, PathEncoding > getLastState(const std::vector< Move > &moves)
Container of moves to check duplicated games.
CheckDuplicate()
Constructor.
size_t regist_counter
couter for registing (trials)
size_t duplicated_moves_counter
counter for exact matches of moves
size_t getRegists() const
Return a couter of registings (trials)
keymap_t keys
container of moves
size_t getDuplicatedHash() const
Return a counter of duplicated ending states.
void print(std::ostream &out) const
Output the result.
DUPLICATE_RESULT regist(const std::vector< Move > &moves)
Insert a key if the key is new.
size_t duplicated_hash_counter
counter for hash matches with different moves
size_t getDuplicatedMoves() const
Return a counter of duplicated moves.