Карта сайта Kansoftware
НОВОСТИУСЛУГИРЕШЕНИЯКОНТАКТЫ
Разработка программного обеспечения

boost/python/raw_function.hpp

Boost , Boost.Python Reference Manual , Chapter 4. Function Invocation and Creation

Boost C++ Libraries

...one of the most highly regarded and expertly designed C++ library projects in the world. Herb Sutter and Andrei Alexandrescu, C++ Coding Standards

PrevUpHomeNext

<raw_function(...)>используется для преобразования функции, принимающей<tuple>и<dict>в объект Python, который принимает переменное число аргументов и произвольные аргументы ключевых слов.

template <class F>
object raw_function(F f, std::size_t min_args = 0);

Requires

f(tuple(), dict()) - хорошо сформированный.

Returns

объект, требующий, по крайней мере, аргументов min_args. При вызове фактические аргументы неключевого слова будут передаваться в наборе в качестве первого аргумента к f, а аргументы ключевого слова будут передаваться в дикте в качестве второго аргумента к f.

C++:

#include <boost/python/def.hpp>
#include <boost/python/tuple.hpp>
#include <boost/python/dict.hpp>
#include <boost/python/module.hpp>
#include <boost/python/raw_function.hpp>
using namespace boost::python;
tuple raw(tuple args, dict kw)
{
    return make_tuple(args, kw);
}
BOOST_PYTHON_MODULE(raw_test)
{
    def("raw", raw_function(raw));
}

Python:

>>> from raw_test import *
>>> raw(3, 4, foo = 'bar', baz = 42)
((3, 4), {'foo': 'bar', 'baz': 42})

PrevUpHomeNext

Статья boost/python/raw_function.hpp раздела Boost.Python Reference Manual Chapter 4. Function Invocation and Creation может быть полезна для разработчиков на c++ и boost.




Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.



:: Главная :: Chapter 4. Function Invocation and Creation ::


реклама


©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007
Top.Mail.Ru

Время компиляции файла: 2024-08-30 11:47:00
2025-05-19 20:21:46/0.0052111148834229/1