32 using Object =
typename Definition::Object;
39 moveAssign(get(), forward<Object>(other.get()));
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);