repr
0.1
Reconstructable string representations and more
Loading...
Searching...
No Matches
rtti.h
Go to the documentation of this file.
1
#pragma once
2
#include <
string
>
3
#include <
typeinfo
>
4
5
#include <
librepr/feature.h
>
6
#include <
librepr/macro/default.h
>
7
#include <
librepr/macro/platform.h
>
8
#include "
demangle.h
"
9
10
namespace
librepr
::
11
12
#if USING(REPR_RTTI)
13
inline
14
#endif
15
rtti
{
16
17
template
<
typename
T>
18
std::string
get_name_raw() {
19
#if USING(LIBREPR_PLATFORM_WINDOWS)
20
auto
name =
typeid
(T).name();
21
return
librepr::detail::denoise_name
(name);
22
#else
23
return
librepr::demangle
(
typeid
(T).name());
24
#endif
25
}
26
27
}
// namespace librepr::rtti
std::string
default.h
demangle.h
feature.h
librepr::detail::denoise_name
LIBREPR_HINT_INLINE std::string denoise_name(std::string_view name)
Formats undecorated symbols to match itanium's symbols.
Definition
denoise.h:240
librepr
Definition
ctvi/ctvi.h:9
librepr::code_for
std::string code_for()
Definition
repr:39
librepr::demangle
std::string demangle(std::string_view mangled)
Definition
demangle.h:21
platform.h
string
typeinfo
include
librepr
name
rtti.h
Generated by
1.9.8, using the excellent
Doxygen Awesome
Theme