Compiler and C++ language related tweaks.
Classes | |
| class | SelectValue | 
| Selects the proper value for the current compiler and standard library.  More... | |
| class | ThreadLocal | 
| Creates a unique thread-local variable that can be used in a coroutine-safe manner.  More... | |
| class | ThreadLocalScope | 
| The scope that grants access to a thread-local variable.  More... | |
Typedefs | |
| using | SelectSize = SelectValue<std::size_t> | 
| Alias for std::size_t values selection for the current compiler and standard library.   | |
Functions | |
| std::string | GetTypeName (std::type_index type) | 
| Returns a human-readable representation of provided type name.  | |
| template<typename T > | |
| std::string | GetTypeName () | 
| Returns a human-readable representation of provided type name.   | |
| template<typename Factory > | |
| ThreadLocal (Factory factory) -> ThreadLocal< std::invoke_result_t< const Factory & >, Factory > | |
| using compiler::SelectSize = SelectValue<std::size_t> | 
Alias for std::size_t values selection for the current compiler and standard library.
Definition at line 107 of file select.hpp.
| std::string compiler::GetTypeName | ( | ) | 
Returns a human-readable representation of provided type name.
GetTypeName(typeidT)) outputs the type, not the alias. For std::chrono functions it gives unreadable results: std::chrono::duration<long, std::ratio<1l, 1l> > - it's seconds
The GetTypeName<T>() provides a more readable output. 
Definition at line 81 of file demangle.hpp.