New cpp folder structure

Signed-off-by: Alexander Borsuk <me@alex.bio>
This commit is contained in:
Alexander Borsuk
2025-07-17 22:35:52 +03:00
committed by Konstantin Pastbin
parent c9cbb64f12
commit 76ffc99abd
2390 changed files with 345 additions and 339 deletions

29
libs/pyhelpers/pair.hpp Normal file
View File

@@ -0,0 +1,29 @@
#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