std::type_index::name
From cppreference.com
const char* name() const noexcept;
|
(since C++11) | |
Returns the name of the associated std::type_info object. Equivalent to calling std::type_info::name() directly.
Return value
The name of the associated std::type_info object.
Example
Run this code
#include <iostream>
#include <typeindex>
#ifdef __has_include
# if __has_include(<meta>)
# include <meta>
# endif
#endif
int main()
{
std::cout << std::type_index(typeid(std::cout)).name() << '\n';
#ifdef __cpp_lib_reflection
std::cout << std::meta::display_string_of(^^std::cout) << '\n';
#endif
}
Possible output:
NSt3__113basic_ostreamIcNS_11char_traitsIcEEEE
std::cout
Defect reports
The following behavior-changing defect reports were applied retroactively to previously published C++ standards.
| DR | Applied to | Behavior as published | Correct behavior |
|---|---|---|---|
| LWG 2144 | C++11 | type_index::name was not required to be noexcept
|
required |
See also
(C++26)(C++26) |
obtains a string suitable for identifying the reflected entity (function) |
(C++26)(C++26) |
if the reflected entity has an identifier, obtains its name (function) |