Files
comaps/pyhelpers/pair.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

30 lines
688 B
C++

#pragma once
#include <utility>
#include <boost/python.hpp>
#include <boost/python/suite/indexing/vector_indexing_suite.hpp>
namespace
{
using namespace boost::python;
// Converts a std::pair instance to a Python tuple.
template <typename T1, typename T2>
struct pair_to_tuple
{
static PyObject * convert(std::pair<T1, T2> const & p)
{
return incref(boost::python::make_tuple(p.first, p.second).ptr());
}
static PyTypeObject const * get_pytype() { return &PyTuple_Type; }
};
template <typename T1, typename T2>
struct pair_to_python_converter
{
pair_to_python_converter() { to_python_converter<std::pair<T1, T2>, pair_to_tuple<T1, T2>, true>(); }
};
} // namespace