предоставляет типы и функции для идентификации типа среды выполнения, такие как<<typeinfo>>. Он существует в основном для работы с определенными ошибками компилятора и взаимодействиями, зависящими от платформы, с общими библиотеками.
<type_info>Идентифицирует тип. Как указано<std::type_info>(но в отличие от его реализации в некоторых компиляторах),<boost::python::type_info>никогда не представляет собой ссылки верхнего уровня или квалификацию cv (см. раздел 5.2.8 в стандарте C++). В отличие от<std::type_info>,<boost::python::type_info>экземпляры являются копируемыми, и сравнения всегда надежно работают через общие границы библиотеки.
6 объект, который идентифицирует тот же тип, что и его аргумент.
Rationale
Поскольку время от времени возникает необходимость в создании массива<type_info>объектов, приводится доброкачественный аргумент по умолчанию. Примечание: этот конструктор не исправляет несоответствие реализаций компилятора<typeid()>. См.<type_id>ниже.
Не каждая реализация C++ обеспечивает действительно читаемую человеком строку<type_info::name()>, но для некоторых мы можем расшифровать строку и создать разумное представление.
Note
В некоторых несоответствующих реализациях C++ код на самом деле не так прост, как описано выше; семантика корректируется для работы в соответствии с реализацией C++.
template<classT>type_infotype_id()
Returns
<type_info(typeid(T))>
Note
В некоторых несоответствующих реализациях C++ код на самом деле не так прост, как описано выше; семантика корректируется для работы в соответствии с реализацией C++.
Следующий пример, хотя и глупый, иллюстрирует, как можно использовать средство type_id.
#include<boost/python/type_id.hpp>// Returns true iff the user passes an int argumenttemplate<classT>boolis_int(Tx){usingboost::python::type_id;returntype_id<T>()==type_id<int>();}
Статья boost/python/type_id.hpp раздела Boost.Python Reference Manual Chapter 7. Utility and Infrastructure может быть полезна для разработчиков на c++ и boost.
Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.