A simple std::type_info
wrapper that implements value semantic for type information objects.
More...
#include <type_info_wrapper.hpp>
Public Member Functions | |
type_info_wrapper () BOOST_NOEXCEPT | |
Default constructor. More... | |
type_info_wrapper (type_info_wrapper const &that) BOOST_NOEXCEPT | |
Copy constructor. More... | |
type_info_wrapper (std::type_info const &that) BOOST_NOEXCEPT | |
Conversion constructor. More... | |
std::type_info const & | get () const BOOST_NOEXCEPT |
Stored type info getter. More... | |
void | swap (type_info_wrapper &that) BOOST_NOEXCEPT |
Swaps two instances of the wrapper. More... | |
std::string | pretty_name () const |
The method returns the contained type name string in a possibly more readable format than get().name() More... | |
bool | operator! () const BOOST_NOEXCEPT |
bool | operator== (type_info_wrapper const &that) const BOOST_NOEXCEPT |
Equality comparison. More... | |
bool | operator< (type_info_wrapper const &that) const BOOST_NOEXCEPT |
Ordering operator. More... | |
A simple std::type_info
wrapper that implements value semantic for type information objects.
The type info wrapper is very useful for storing type information objects in containers, as a key or value. It also provides a number of useful features, such as default construction and assignment support, an empty state and extended support for human-friendly type names.
|
inline |
Default constructor.
!*this == true
|
inline |
Copy constructor.
*this == that
that | Source type info wrapper to copy from |
|
inline |
Conversion constructor.
*this == that && !!*this
that | Type info object to be wrapped |
|
inline |
Stored type info getter.
true
if the type info wrapper was initialized with a particular type, false
if the wrapper was default-constructed and not yet initialized!!*this
|
inline |
false
if the type info wrapper was initialized with a particular type, true
if the wrapper was default-constructed and not yet initialized
|
inline |
Ordering operator.
!!*this && !!that
that | Comparand |
true
if this object wraps type info object that is ordered before the type info object in the comparand, false
otherwise
|
inline |
Equality comparison.
that | Comparand |
false
. If both arguments are empty, the result is true
. If both arguments are not empty, the result is true
if this object wraps the same type as the comparand and false
otherwise.
|
inline |
The method returns the contained type name string in a possibly more readable format than get().name()
!!*this
References boost::core::demangle().
Referenced by boost::to_string().
|
inline |
Swaps two instances of the wrapper.