clang-format

This commit is contained in:
Steven Dee (Jōshin) 2024-06-19 22:59:51 -07:00
parent 79c0e97dcf
commit df00ae1bca
No known key found for this signature in database
2 changed files with 21 additions and 16 deletions

View file

@ -76,12 +76,14 @@ struct shared_pointer : shared_control
template<typename T> template<typename T>
struct shared_emplace : shared_control struct shared_emplace : shared_control
{ {
union { union
{
T t; T t;
}; };
template<typename... Args> template<typename... Args>
void construct(Args&&... args) { void construct(Args&&... args)
{
::new (&t) T(ctl::forward<Args>(args)...); ::new (&t) T(ctl::forward<Args>(args)...);
} }
@ -123,12 +125,12 @@ class shared_ptr
public: public:
using element_type = T; // TODO(mrdomino): remove extent? using element_type = T; // TODO(mrdomino): remove extent?
constexpr shared_ptr(nullptr_t = nullptr) noexcept constexpr shared_ptr(nullptr_t = nullptr) noexcept : p(nullptr), rc(nullptr)
: p(nullptr), rc(nullptr)
{ {
} }
explicit shared_ptr(auto* const p) : p(p), rc(__::shared_pointer<T>::make(p)) explicit shared_ptr(auto* const p)
: p(p), rc(__::shared_pointer<T>::make(p))
{ {
} }
@ -250,7 +252,8 @@ class shared_ptr
}; };
template<typename T, typename... Args> template<typename T, typename... Args>
shared_ptr<T> make_shared(Args&&... args) shared_ptr<T>
make_shared(Args&&... args)
{ {
auto rc = __::shared_emplace<T>::make_unique(); auto rc = __::shared_emplace<T>::make_unique();
rc->construct(ctl::forward<Args>(args)...); rc->construct(ctl::forward<Args>(args)...);

View file

@ -27,7 +27,9 @@ template<typename T>
using Ptr = ctl::shared_ptr<T>; using Ptr = ctl::shared_ptr<T>;
template<typename T, typename... Args> template<typename T, typename... Args>
Ptr<T> Mk(Args&&... args) { Ptr<T>
Mk(Args&&... args)
{
return ctl::make_shared<T>(ctl::forward<Args>(args)...); return ctl::make_shared<T>(ctl::forward<Args>(args)...);
} }