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

boost/python/implicit.hpp

Boost , Boost.Python Reference Manual , Chapter 5. To/From Python Type Conversion

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

<implicitly_convertible>Позволяет увеличить. Python неявно использует неявное или явное преобразование C++ при сопоставлении объектов Python с типами аргументов C++.

template <class Source, class Target>
void implicitly_convertible();

Параметр

Описание

Источник

Тип источника неявного преобразования

Цель

Целевой тип неявного преобразования

Requires

Декларация<Target t(s);>, где s является источником типа, действительна.

Effects

регистрирует конвертер rvalue<from_python>в Target, который может быть успешным для любого<PyObject*p>, если существует любой зарегистрированный конвертер, который может производить значения Source

Rationale

Пользователи C++ ожидают, что смогут воспользоваться той же совместимостью в Python, что и в C++.

В C++:

#include <boost/python/class.hpp>
#include <boost/python/implicit.hpp>
#include <boost/python/module.hpp>
using namespace boost::python;
struct X
{
    X(int x) : v(x) {}
    operator int() const { return v; }
    int v;
};
int x_value(X const& x)
{
    return x.v;
}
X make_x(int n) { return X(n); }
BOOST_PYTHON_MODULE(implicit_ext)
{
    def("x_value", x_value);
    def("make_x", make_x);
    class_<X>("X",
        init<int>())
        ;
    implicitly_convertible<X,int>();
    implicitly_convertible<int,X>();
}

В Python:

>>> from implicit_ext import *
>>> x_value(X(42))
42
>>> x_value(42)
42
>>> x = make_x(X(42))
>>> x_value(x)
42

PrevUpHomeNext

Статья boost/python/implicit.hpp раздела Boost.Python Reference Manual Chapter 5. To/From Python Type Conversion может быть полезна для разработчиков на c++ и boost.




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



:: Главная :: Chapter 5. To/From Python Type Conversion ::


реклама


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

Время компиляции файла: 2024-08-30 11:47:00
2025-07-05 05:43:35/0.0036129951477051/0