Files
comaps/routing/base/small_list.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

58 lines
905 B
C++

#pragma once
#include "base/buffer_vector.hpp"
#include <map>
namespace routing
{
namespace impl
{
class Statistics
{
struct Info
{
size_t m_sum = 0;
size_t m_count = 0;
size_t m_max = 0;
};
static std::map<char const *, Info> s_map;
public:
static void Add(char const * name, size_t val);
static void Dump();
};
} // namespace impl
template <class T> class SmallList : public buffer_vector<T, 8>
{
using BaseT = buffer_vector<T, 8>;
public:
using BaseT::BaseT;
/// @todo Use in Generator only.
/*
void clear()
{
impl::Statistics::Add(typeid(T).name(), BaseT::size());
BaseT::clear();
}
~SmallList()
{
impl::Statistics::Add(typeid(T).name(), BaseT::size());
}
*/
};
template <typename T>
inline std::string DebugPrint(SmallList<T> const & v)
{
return DebugPrint(static_cast<buffer_vector<T, 8> const &>(v));
}
} // namesapce routing