diff options
Diffstat (limited to 'src/crepe/util/Private.hpp')
-rw-r--r-- | src/crepe/util/Private.hpp | 18 |
1 files changed, 8 insertions, 10 deletions
diff --git a/src/crepe/util/Private.hpp b/src/crepe/util/Private.hpp index d6ab23f..3a87a9f 100644 --- a/src/crepe/util/Private.hpp +++ b/src/crepe/util/Private.hpp @@ -1,7 +1,7 @@ #pragma once -#include <stdexcept> #include <format> +#include <stdexcept> #include "Private.h" @@ -11,10 +11,8 @@ template <typename T, typename... Args> T & Private::set(Args &&... args) { if (!this->empty()) this->destructor(this->instance); T * instance = new T(std::forward<Args>(args)...); - this->instance = static_cast<void*>(instance); - this->destructor = [](void * instance) { - delete static_cast<T*>(instance); - }; + this->instance = static_cast<void *>(instance); + this->destructor = [](void * instance) { delete static_cast<T *>(instance); }; this->type = typeid(T); return *instance; } @@ -22,12 +20,12 @@ T & Private::set(Args &&... args) { template <typename T> T & Private::get() { using namespace std; - if (this->empty()) - throw out_of_range("Private: get() called on empty object"); + if (this->empty()) throw out_of_range("Private: get() called on empty object"); type_index requested_type = typeid(T); if (this->type != requested_type) - throw logic_error(format("Private: get() called with [T = {}] (actual is [T = {}])", requested_type.name(), this->type.name())); - return *static_cast<T*>(this->instance); + throw logic_error(format("Private: get() called with [T = {}] (actual is [T = {}])", + requested_type.name(), this->type.name())); + return *static_cast<T *>(this->instance); } -} +} // namespace crepe |