3#ifndef DUNE_CLASSNAME_HH
4#define DUNE_CLASSNAME_HH
28 typedef typename std::remove_reference<T>::type TR;
29 std::string
className =
typeid( TR ).name();
32 char *demangled = abi::__cxa_demangle(
className.c_str(), 0, 0, &status );
36 std::free( demangled );
39 if (std::is_const<TR>::value)
41 if (std::is_volatile<TR>::value)
43 if (std::is_lvalue_reference<T>::value)
45 else if (std::is_rvalue_reference<T>::value)
57 return className<T>();
Dune namespace.
Definition: alignedallocator.hh:10
std::string className()
Provide the demangled class name of a type T as a string.
Definition: classname.hh:26