OGS
DemangleTypeInfo.h
Go to the documentation of this file.
1// SPDX-FileCopyrightText: Copyright (c) OpenGeoSys Community (opengeosys.org)
2// SPDX-License-Identifier: BSD-3-Clause
3
4#pragma once
5
6#include <string>
7#include <type_traits>
8#include <typeinfo>
9
10namespace BaseLib
11{
20std::string demangle(const char* mangled_name);
21
29template <typename T>
30std::string typeToString()
31{
32 return demangle(typeid(T).name());
33}
34
38template <typename T>
39std::string typeToString(T&& /* not needed */)
40{
41 return demangle(typeid(std::remove_cvref_t<T>).name());
42}
43} // namespace BaseLib
std::string demangle(const char *mangled_name)
std::string typeToString()