32 using Object =
typename Definition::Object;
47 Object& get() {
return reinterpret_cast<Object&
>(buffer); }
48 const Object& get()
const {
return reinterpret_cast<const Object&
>(buffer); }
51#if SC_PLATFORM_WINDOWS
52 static constexpr int Size = Definition::Windows;
53#elif SC_PLATFORM_APPLE
54 static constexpr int Size = Definition::Apple;
55#elif SC_PLATFORM_LINUX
56 static constexpr int Size = Definition::Linux;
58 static constexpr int Size = Definition::Default;
60 static constexpr int Alignment = Definition::Alignment;
65 static void construct(
Handle& buffer);
66 static void destruct(Object& obj);
67 static void moveConstruct(
Handle& buffer, Object&& obj);
68 static void moveAssign(Object& selfPointer, Object&& obj);
constexpr T && forward(typename TypeTraits::RemoveReference< T >::type &value)
Forwards an lvalue or an rvalue as an rvalue reference.
Definition Compiler.h:260