Files
comaps/indexer/unique_index.hpp
Konstantin Pastbin e3e4a1985a Organic Maps sources as of 02.04.2025 (fad26bbf22ac3da75e01e62aa01e5c8e11861005)
To expand with full Organic Maps and Maps.ME commits history run:
  git remote add om-historic [om-historic.git repo url]
  git fetch --tags om-historic
  git replace squashed-history historic-commits
2025-05-08 21:10:51 +07:00

41 lines
710 B
C++

#pragma once
#include "base/base.hpp"
#include <unordered_set>
#include <vector>
class CheckUniqueIndexes
{
public:
bool operator()(uint32_t index) { return Add(index); }
private:
/// Add index to the set.
/// @return true If index was absent.
bool Add(uint32_t index)
{
if (m_v.size() <= index)
m_v.resize(index + 1);
bool const ret = !m_v[index];
m_v[index] = true;
return ret;
}
/// Remove index from the set.
/// @return true If index was present.
bool Remove(uint32_t index)
{
if (m_v.size() > index)
{
bool const ret = m_v[index];
m_v[index] = false;
return ret;
}
else
return false;
}
std::vector<bool> m_v;
};