From 03e5d14ed191a5a600c7b9f6c33bb2b12fdd5eac Mon Sep 17 00:00:00 2001 From: Steven Le Rouzic Date: Thu, 15 Aug 2024 01:08:06 +0200 Subject: Start work on object --- asl/object.hpp | 7 +++++++ asl/object_tests.cpp | 13 +++++++++++++ 2 files changed, 20 insertions(+) (limited to 'asl') diff --git a/asl/object.hpp b/asl/object.hpp index 17e9ce4..936cd25 100644 --- a/asl/object.hpp +++ b/asl/object.hpp @@ -1,10 +1,17 @@ #pragma once +#include "asl/ptr.hpp" + namespace asl { template class object final { + using wrapped = devoid_t::pointee>>; + + ASL_NO_UNIQUE_ADDRESS wrapped m_value; + +public: }; } // namespace asl diff --git a/asl/object_tests.cpp b/asl/object_tests.cpp index 2f38372..794c540 100644 --- a/asl/object_tests.cpp +++ b/asl/object_tests.cpp @@ -1 +1,14 @@ +#include "asl/object.hpp" + +static_assert(asl::is_object>); +static_assert(asl::is_object>); +static_assert(asl::is_object>); +static_assert(asl::is_object>); + +static_assert(asl::is_empty>); +static_assert(sizeof(asl::object) == 4); +static_assert(sizeof(asl::object) == sizeof(void*)); +static_assert(sizeof(asl::object) == sizeof(void*)); +static_assert(sizeof(asl::object) == sizeof(void*)); + int main() { return 0; } -- cgit