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
This commit is contained in:
Konstantin Pastbin
2025-04-13 16:37:30 +07:00
commit e3e4a1985a
12931 changed files with 13195100 additions and 0 deletions

58
search/token_slice.cpp Normal file
View File

@@ -0,0 +1,58 @@
#include "search/token_slice.hpp"
#include <sstream>
namespace search
{
using namespace std;
namespace
{
template <typename Slice>
string SliceToString(string const & name, Slice const & slice)
{
ostringstream os;
os << name << " [";
for (size_t i = 0; i < slice.Size(); ++i)
{
os << DebugPrint(slice.Get(i));
if (i + 1 != slice.Size())
os << ", ";
}
os << "]";
return os.str();
}
} // namespace
// TokenSlice --------------------------------------------------------------------------------------
TokenSlice::TokenSlice(QueryParams const & params, TokenRange const & range)
: m_params(params), m_offset(range.Begin()), m_size(range.Size())
{
ASSERT(range.IsValid(), (range));
}
bool TokenSlice::IsPrefix(size_t i) const
{
ASSERT_LESS(i, Size(), ());
return m_params.IsPrefixToken(m_offset + i);
}
// TokenSliceNoCategories --------------------------------------------------------------------------
TokenSliceNoCategories::TokenSliceNoCategories(QueryParams const & params, TokenRange const & range)
: m_params(params)
{
m_indexes.reserve(range.Size());
for (size_t i : range)
{
if (!m_params.IsCategorySynonym(i))
m_indexes.push_back(i);
}
}
string DebugPrint(TokenSlice const & slice) { return SliceToString("TokenSlice", slice); }
string DebugPrint(TokenSliceNoCategories const & slice)
{
return SliceToString("TokenSliceNoCategories", slice);
}
} // namespace search