Welcome to mirror list, hosted at ThFree Co, Russian Federation.

geocoder_context.cpp « search - github.com/mapsme/omim.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
blob: 9f03510916bd8b6137ef6f17c2b5c8c579cd764d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
#include "search/geocoder_context.hpp"

#include "base/stl_add.hpp"

#include "std/algorithm.hpp"

namespace search
{
size_t BaseContext::SkipUsedTokens(size_t curToken) const
{
  while (curToken != m_usedTokens.size() && m_usedTokens[curToken])
    ++curToken;
  return curToken;
}

bool BaseContext::AllTokensUsed() const
{
  return all_of(m_usedTokens.begin(), m_usedTokens.end(), IdFunctor());
}

bool BaseContext::HasUsedTokensInRange(size_t from, size_t to) const
{
  return any_of(m_usedTokens.begin() + from, m_usedTokens.begin() + to, IdFunctor());
}

size_t BaseContext::NumUnusedTokenGroups() const
{
  size_t numGroups = 0;
  for (size_t i = 0; i < m_usedTokens.size(); ++i)
  {
    if (!m_usedTokens[i] && (i == 0 || m_usedTokens[i - 1]))
      ++numGroups;
  }
  return numGroups;
}
}  // namespace search