10 #ifndef _TEUCHOS_TYPE_NAME_TRAITS_HPP_
11 #define _TEUCHOS_TYPE_NAME_TRAITS_HPP_
27 #if defined(__IBMCPP__) && ( __IBMCPP__ < 900 || __IBMCPP__ == 1210 )
28 # define TEUCHOS_TYPE_NAME_TRAITS_OLD_IBM
61 #ifndef TEUCHOS_TYPE_NAME_TRAITS_OLD_IBM
85 typedef typename std::remove_const_t<T> ncT;
86 #ifndef TEUCHOS_TYPE_NAME_TRAITS_OLD_IBM
108 typedef typename std::remove_const_t<T> ncT;
113 #define TEUCHOS_TYPE_NAME_TRAITS_BUILTIN_TYPE_SPECIALIZATION(TYPE) \
115 class TypeNameTraits<TYPE> { \
117 static std::string name() { return (#TYPE); } \
118 static std::string concreteName(const TYPE&) { return name(); } \
134 #ifdef HAVE_TEUCHOSCORE_QUADMATH
136 #endif // HAVE_TEUCHOSCORE_QUADMATH
138 #ifdef HAVE_TEUCHOS_LONG_DOUBLE
140 #endif // HAVE_TEUCHOS_LONG_DOUBLE
154 static std::string
name() {
return "string"; }
163 static std::string
name() {
return "void*"; }
176 static std::string
name() {
return "void"; }
181 #ifdef HAVE_TEUCHOS_COMPLEX
187 static std::string name()
189 static std::string concreteName(
const std::complex<T>&)
194 #endif // HAVE_TEUCHOS_COMPLEX
201 #endif // _TEUCHOS_TYPE_NAME_TRAITS_HPP_
static std::string concreteName(const T &t)
std::string typeName(const T &t)
Template function for returning the concrete type name of a passed-in object.
TEUCHOSCORE_LIB_DLL_EXPORT std::string demangleName(const std::string &mangledName)
Demangle a C++ name if valid.
static std::string concreteName(T_ptr)
static std::string concreteName(const std::string &)
Teuchos header file which uses auto-configuration information to include necessary C++ headers...
static std::string concreteName(const std::string &)
static std::string name()
static std::string name()
std::string concreteTypeName(const T &t)
Template function for returning the type name of the actual concrete name of a passed-in object...
#define TEUCHOSCORE_LIB_DLL_EXPORT
TEUCHOS_TYPE_NAME_TRAITS_BUILTIN_TYPE_SPECIALIZATION(bool)
Default traits class that just returns typeid(T).name().
static std::string concreteName(const std::string &)
static std::string name()
static std::string name()
static std::string name()