density
C++11 library for paged memory management, function queues, heterogeneous queues and lifo memory management
|
Given a type R, an object r of type const R
, and a type T, R satisfies the requirenmemnts of RuntimeType if and only if:
R::make<T>()
yields an instance of R bound to the target type Tr.is<T>() -> bool
is true if and only if T is the target type to which r is boundr.size()
is equivalent to sizeof(T)
, where T is the target typer.alignment()
is equivalent to alignof(T)
, where T is the target typer.default_construct(dest)
is equivalent to (void)new(dest) T()
, where T is the target typer.copy_construct(dest, source)
is equivalent to (void)new(dest) T(*static_cast<const T*>(source))
, where T is the target typer.move_construct(dest, source)
is equivalent to (void)new(dest) T(std::move(*static_cast<T*>(source)))
, where T is the target typer.destroy(dest)
is equivalent to static_cast<T*>(dest)->T::~T()
, where T is the target typer.type_info()
is equivalent to typeid(T)
, where T is the target type