Jamba C++ API 8.0.0
Loading...
Searching...
No Matches
Metaprogramming.h File Reference
#include <sstream>
#include <ostream>
#include <concepts>

Go to the source code of this file.

Namespaces

namespace  pongasoft
namespace  pongasoft::Utils

Concepts

concept  pongasoft::Utils::ConvertibleTo
 Allows to detect (at compilation time) whether the call static_cast<To>(from) (where from is of type From) will compile.
concept  pongasoft::Utils::DynamicCastablePointer
concept  pongasoft::Utils::HasNotEqual
 Allows to detect whether a type defines operator!= at compile time.
concept  pongasoft::Utils::OstreamWritable
 Allows to detect whether a type defines ostream << x at compile time.

Functions

template<typename To, typename From>
constexpr To safe_dynamic_cast (From *p) noexcept
 dynamic_cast<U *>(x) does not compile if x is not polymorphic.
template<typename T>
std::string typeString ()
 typeid(T).name() does not account for const or reference.