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