Boost  v1.57.0
doxygen for www.boost.org
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
boost::typeindex::ctti_type_index Class Reference

This class is a wrapper that pretends to work exactly like stl_type_index, but does not require RTTI support. More...

#include <ctti_type_index.hpp>

Inheritance diagram for boost::typeindex::ctti_type_index:
Collaboration diagram for boost::typeindex::ctti_type_index:

Public Types

typedef detail::ctti_data type_info_t
 

Public Member Functions

 ctti_type_index () BOOST_NOEXCEPT
 
 ctti_type_index (const type_info_t &data) BOOST_NOEXCEPT
 
const type_info_ttype_info () const BOOST_NOEXCEPT
 
const char * raw_name () const BOOST_NOEXCEPT
 
std::string pretty_name () const
 
std::size_t hash_code () const BOOST_NOEXCEPT
 
const char * name () const BOOST_NOEXCEPT
 Override: This function may be redefined in Derived class. More...
 
bool equal (const ctti_type_index &rhs) const BOOST_NOEXCEPT
 Override: This function may be redefined in Derived class. More...
 
bool before (const ctti_type_index &rhs) const BOOST_NOEXCEPT
 Override: This function may be redefined in Derived class. More...
 

Static Public Member Functions

template<class T >
static ctti_type_index type_id () BOOST_NOEXCEPT
 
template<class T >
static ctti_type_index type_id_with_cvr () BOOST_NOEXCEPT
 
template<class T >
static ctti_type_index type_id_runtime (const T &variable) BOOST_NOEXCEPT
 

Detailed Description

This class is a wrapper that pretends to work exactly like stl_type_index, but does not require RTTI support.

For description of functions see type_index_facade.

This class produces slightly longer type names, so consider using stl_type_index in situations when typeid() is working.

Member Typedef Documentation

Constructor & Destructor Documentation

boost::typeindex::ctti_type_index::ctti_type_index ( )
inline
boost::typeindex::ctti_type_index::ctti_type_index ( const type_info_t data)
inline

Member Function Documentation

bool boost::typeindex::type_index_facade< ctti_type_index , detail::ctti_data >::before ( const ctti_type_index rhs) const
inlineinherited

Override: This function may be redefined in Derived class.

Overrides must not throw.

Returns
True if rhs is greater than this. By default compares types by raw_name().

References boost::bimaps::support::left, and boost::icl::right().

bool boost::typeindex::type_index_facade< ctti_type_index , detail::ctti_data >::equal ( const ctti_type_index rhs) const
inlineinherited

Override: This function may be redefined in Derived class.

Overrides must not throw.

Returns
True if two types are equal. By default compares types by raw_name().

References boost::bimaps::support::left, and boost::icl::right().

std::size_t boost::typeindex::ctti_type_index::hash_code ( ) const
inline

References boost::hash_range(), and raw_name().

const char* boost::typeindex::type_index_facade< ctti_type_index , detail::ctti_data >::name ( ) const
inlineinherited

Override: This function may be redefined in Derived class.

Overrides must not throw.

Returns
Name of a type. By default returns Derived::raw_name().
std::string boost::typeindex::ctti_type_index::pretty_name ( ) const
inline

References boost::python::len(), and raw_name().

const char * boost::typeindex::ctti_type_index::raw_name ( ) const
inline

Referenced by hash_code(), and pretty_name().

template<class T >
ctti_type_index boost::typeindex::ctti_type_index::type_id ( )
inlinestatic
template<class T >
ctti_type_index boost::typeindex::ctti_type_index::type_id_runtime ( const T variable)
inlinestatic
template<class T >
ctti_type_index boost::typeindex::ctti_type_index::type_id_with_cvr ( )
inlinestatic
const ctti_type_index::type_info_t & boost::typeindex::ctti_type_index::type_info ( ) const
inline

The documentation for this class was generated from the following file: