【问题标题】:How to access elements of boost::python::tuple in C++?如何在 C++ 中访问 boost::python::tuple 的元素?
【发布时间】:2016-11-19 00:27:29
【问题描述】:

我有一个从 Python 调用的 C++ 代码。我有从 python 传递的元组列表:

boost::python::list<boost::python::tuple>

如何访问boost::python::tuple 的元素?

任何例子都会很方便。从文档中,我找不到访问器方法。

【问题讨论】:

  • 必须有映射函数,方法没有完整记录。为了快速解决方法,请尝试构建自定义包装器(例如 this one

标签: c++ boost tuples boost-python


【解决方案1】:

我能够使用boost::python::extract&lt;int&gt;( ) 方法。

例如对于一个包含整数和字符串的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]);
}   

                                             

【讨论】:

  • @Ramy 您可能希望写一个包含详细说明的单独答案。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2011-06-01
  • 2017-01-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-10-24
  • 1970-01-01
相关资源
最近更新 更多