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
|