25 #ifndef TYPE_INFO_HPP_INCLUDED
26 #define TYPE_INFO_HPP_INCLUDED
29 #include <type_traits>
43 os << (std::is_const<typename std::remove_reference<T>::type >::value ?
"const " :
"");
44 os << (std::is_same<typename std::decay<T>::type,
int>::value ?
"int " :
"");
45 os << (std::is_same<typename std::decay<T>::type,
char>::value ?
"char " :
"");
46 os << (std::is_lvalue_reference<T>::value ?
"&" :
"");
47 os << (std::is_rvalue_reference<T>::value ?
"&&" :
"");