如何在 C++ 中访问 boost::python::tuple 的元素?
How to access elements of boost::python::tuple in C++?
我有一个从 Python 调用的 C++ 代码。我有从 python:
传递的元组列表
boost::python::list<boost::python::tuple>
如何访问 boost::python::tuple
的元素?
任何例子都会很方便。从文档中,我找不到访问器方法。
我能够使用 boost::python::extract<int>( )
方法。
例如,对于包含一个整数和一个字符串的 python 元组:
Python 边:
t = (123, 'some string')
C++ 端:
void work_with_tuple(boost::python::tuple t)
{
if (boost::python::len(t) != 2) throw std::invalid_argument("bad");
int extracted_int = boost::python::extract<int>(t[0]);
std::string extracted_string = boost::python::extract<std::string>(t[1]);
}
我有一个从 Python 调用的 C++ 代码。我有从 python:
传递的元组列表boost::python::list<boost::python::tuple>
如何访问 boost::python::tuple
的元素?
任何例子都会很方便。从文档中,我找不到访问器方法。
我能够使用 boost::python::extract<int>( )
方法。
例如,对于包含一个整数和一个字符串的 python 元组:
Python 边:
t = (123, 'some string')
C++ 端:
void work_with_tuple(boost::python::tuple t)
{
if (boost::python::len(t) != 2) throw std::invalid_argument("bad");
int extracted_int = boost::python::extract<int>(t[0]);
std::string extracted_string = boost::python::extract<std::string>(t[1]);
}