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

boost/python/pointee.hpp

Boost , Boost.Python Reference Manual , Chapter 7. Utility and Infrastructure

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

вводит метафункцию признаковшаблонПоказатель<T>, которые могут быть использованы для извлечения типа «указанный» из типа указателя или умного указателя.

указатель<T>используется шаблоном<...>для вывода типа, удерживаемого, когда в качестве аргумента HeldType используется указатель или умный указатель.

namespace boost { namespace python
{
   template <class T> struct pointee
   {
      typedef T::element_type type;
   };
   // specialization for pointers
   template <T> struct pointee<T*>
   {
      typedef T type;
   };
}

Учитывая 3-й тип умных указателейsmart_pointer<T>, можно частично специализироватьсяpointee<smart_pointer<T>>>, чтобы его можно было использовать в качестве HeldType для обертки класса:

#include <boost/python/pointee.hpp>
#include <boost/python/class.hpp>
#include <third_party_lib.hpp>
namespace boost { namespace python
{
  template <class T> struct pointee<smart_pointer<T> >
  {
     typedef T type;
  };
}}
BOOST_PYTHON_MODULE(pointee_demo)
{
   class_<third_party_class, smart_pointer<third_party_class> >("third_party_class")
      .def(...)
      ...
      ;
}

PrevUpHomeNext

Статья boost/python/pointee.hpp раздела Boost.Python Reference Manual Chapter 7. Utility and Infrastructure может быть полезна для разработчиков на c++ и boost.




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



:: Главная :: Chapter 7. Utility and Infrastructure ::


реклама


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

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