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.