78 using Object =
typename Definition::Object;
93 Object& get() {
return reinterpret_cast<Object&
>(buffer); }
94 const Object& get()
const {
return reinterpret_cast<const Object&
>(buffer); }
97#if SC_PLATFORM_WINDOWS
98 static constexpr int Size = Definition::Windows;
99#elif SC_PLATFORM_APPLE
100 static constexpr int Size = Definition::Apple;
101#elif SC_PLATFORM_LINUX
102 static constexpr int Size = Definition::Linux;
104 static constexpr int Size = Definition::Default;
106 static constexpr int Alignment = Definition::Alignment;
111 static void construct(
Handle& buffer);
112 static void destruct(Object& obj);
113 static void moveConstruct(
Handle& buffer, Object&& obj);
114 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:272