#include <type_traits>
#include <sstream>
#include <ostream>
#include "Cpp17.h"
Go to the source code of this file.
|
| class | Cast< U > |
| | dynamic_cast<U *>(x) does not compile if x is not polymorphic. More...
|
|
| template<typename T> |
| using | operator_not_eq_t = decltype(std::declval<T const&>() != std::declval<T const&>()) |
| | Defines the type for operator!=.
|
| template<typename T> |
| using | operator_write_to_ostream_t = decltype(std::declval<std::ostream &>() << std::declval<T const&>()) |
| | Defines the type for operator<<.
|
| template<typename From, typename To> |
| using | static_cast_t = decltype(static_cast<To>(std::declval<From>())) |
| | Defines the type for static_cast<To>(From).
|
|
| template<typename T> |
| std::string | typeString () |
| | typeid(T).name() does not account for const or reference.
|