18 #ifndef itkEquivalencyTable_h
19 #define itkEquivalencyTable_h
23 #include <unordered_map>
59 using HashTableType = std::unordered_map<unsigned long, unsigned long, std::hash<unsigned long>>;
78 Add(
unsigned long a,
unsigned long b);
88 AddAndFlatten(
unsigned long a,
unsigned long b);
96 auto result = m_HashMap.find(a);
98 if (result == m_HashMap.end())
103 return result->second;
111 RecursiveLookup(
const unsigned long a)
const;
118 if (m_HashMap.find(a) == m_HashMap.end())
144 return m_HashMap.empty();
148 HashTableType::size_type
151 return m_HashMap.size();
159 return m_HashMap.begin();
167 return m_HashMap.end();
177 PrintSelf(std::ostream & os,
Indent indent)
const override;