Инит-экспрессия используется для описания семейства<__init__>методов, генерируемых для класса расширения, и результат имеет следующие свойства:
docstring
ntbs, значение которого будет связано с атрибутом метода<__doc__>
keywords
ключевое слово-выражение, которое будет использоваться для обозначения (следующей последовательности) аргументов для генерируемой функции (функций)<__init__>.
MPL-последовательность типов аргументов C++, которая будет использоваться для построения обернутого объекта C++. Выражение init имеет один или несколько действительных префиксов, которые даются последовательностью префиксов его типов аргументов.
Последовательность MPL, которая может быть использована для указания семейства одной или более функций __init__. Только последний Ti может быть инстанциацией факультативного<...>.
Если же это так, то. В случае поставки, kw является результатом
Effects
Результатом является инит-выражение, докстринг которого является док и ключевые слова которого являются ссылкой на kw. Если используется первая форма, ключевые слова полученного выражения пусты. Политика вызова выражения является примеромполитики по умолчанию. Если Tnфакультативный, действительные префиксы выражения даны:
Возвращает новоевыражение initсо всеми теми же свойствами, что и объект init, за исключением того, что его политика вызова заменяется ссылкой на политику.
Соответствующий буст. Класс расширения Python может быть создан с помощью:
usingnamespaceboost::python;class_<X>("X","This is X's docstring.",init<int,charconst*>(args("x","y"),"X.__init__'s docstring")[with_custodian_and_ward<1,3>()]).def(init<double>());
Статья boost/python/init.hpp раздела Boost.Python Reference Manual Chapter 2. High Level Components может быть полезна для разработчиков на c++ и boost.
Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.