From b66474ea45515d495366c4afe3ede647a30c7390 Mon Sep 17 00:00:00 2001 From: Richard Qin Date: Wed, 4 Nov 2026 01:30:57 +0800 Subject: [libbase] Format C++ Code Signed-off-by: Richard Qin --- libbase/include/core/memory/AllocatorBase.h | 122 +++++++++++++++++++--------- 1 file changed, 84 insertions(+), 38 deletions(-) (limited to 'libbase/include/core/memory/AllocatorBase.h') diff --git a/libbase/include/core/memory/AllocatorBase.h b/libbase/include/core/memory/AllocatorBase.h index 0f7f9f1..af6f5ca 100644 --- a/libbase/include/core/memory/AllocatorBase.h +++ b/libbase/include/core/memory/AllocatorBase.h @@ -41,7 +41,7 @@ #define LIBBASE_SUPPORT_ALLOCATORBASE_H #ifdef _MSC_VER -#define LIBBASE_ALLOCATORHOLDER_EMPTYBASE __declspec(empty_bases) +#define LIBBASE_ALLOCATORHOLDER_EMPTYBASE __declspec (empty_bases) #else #define LIBBASE_ALLOCATORHOLDER_EMPTYBASE #endif // _MSC_VER @@ -51,7 +51,8 @@ #include #include -namespace libbase { +namespace libbase +{ /// CRTP base class providing obvious overloads for the core \c /// Allocate() methods of LLVM-style allocators. @@ -59,92 +60,137 @@ namespace libbase { /// This base class both documents the full public interface exposed by all /// LLVM-style allocators, and redirects all of the overloads to a single core /// set of methods which the derived class must define. -template class AllocatorBase { +template class AllocatorBase +{ public: /// Allocate \a Size bytes of \a Alignment aligned memory. This method /// must be implemented by \c DerivedT. - void *Allocate(size_t Size, size_t Alignment) { + void * + Allocate (size_t Size, size_t Alignment) + { #ifdef __clang__ - static_assert(static_cast( - &AllocatorBase::Allocate) != - static_cast( - &DerivedT::Allocate), - "Class derives from AllocatorBase without implementing the " - "core Allocate(size_t, size_t) overload!"); + static_assert (static_cast ( + &AllocatorBase::Allocate) != + static_cast ( + &DerivedT::Allocate), + "Class derives from AllocatorBase without implementing the " + "core Allocate(size_t, size_t) overload!"); #endif - return static_cast(this)->Allocate(Size, Alignment); + return static_cast (this)->Allocate (Size, Alignment); } /// Deallocate \a Ptr to \a Size bytes of memory allocated by this /// allocator. - void Deallocate(const void *Ptr, size_t Size, size_t Alignment) { + void + Deallocate (const void *Ptr, size_t Size, size_t Alignment) + { #ifdef __clang__ - static_assert( - static_cast( + static_assert ( + static_cast ( &AllocatorBase::Deallocate) != - static_cast( + static_cast ( &DerivedT::Deallocate), "Class derives from AllocatorBase without implementing the " "core Deallocate(void *) overload!"); #endif - return static_cast(this)->Deallocate(Ptr, Size, Alignment); + return static_cast (this)->Deallocate (Ptr, Size, Alignment); } // The rest of these methods are helpers that redirect to one of the above // core methods. /// Allocate space for a sequence of objects without constructing them. - template T *Allocate(size_t Num = 1) { - return static_cast(Allocate(Num * sizeof(T), alignof(T))); + template + T * + Allocate (size_t Num = 1) + { + return static_cast (Allocate (Num * sizeof (T), alignof (T))); } /// Deallocate space for a sequence of objects without constructing them. template std::enable_if_t, void>, void> - Deallocate(T *Ptr, size_t Num = 1) { - Deallocate(static_cast(Ptr), Num * sizeof(T), alignof(T)); + Deallocate (T *Ptr, size_t Num = 1) + { + Deallocate (static_cast (Ptr), Num * sizeof (T), alignof (T)); } }; -class MallocAllocator : public AllocatorBase { +class MallocAllocator : public AllocatorBase +{ public: - void Reset() {} + void + Reset () + { + } - LIBBASE_ATTRIBUTE_RETURNS_NONNULL void *Allocate(size_t Size, size_t Alignment) { - return allocate_buffer(Size, Alignment); + LIBBASE_ATTRIBUTE_RETURNS_NONNULL void * + Allocate (size_t Size, size_t Alignment) + { + return allocate_buffer (Size, Alignment); } // Pull in base class overloads. using AllocatorBase::Allocate; - void Deallocate(const void *Ptr, size_t Size, size_t Alignment) { - deallocate_buffer(const_cast(Ptr), Size, Alignment); + void + Deallocate (const void *Ptr, size_t Size, size_t Alignment) + { + deallocate_buffer (const_cast (Ptr), Size, Alignment); } // Pull in base class overloads. using AllocatorBase::Deallocate; - void PrintStats() const {} + void + PrintStats () const + { + } }; -namespace detail { +namespace detail +{ -template class AllocatorHolder : Alloc { +template class AllocatorHolder : Alloc +{ public: - AllocatorHolder() = default; - AllocatorHolder(const Alloc &A) : Alloc(A) {} - AllocatorHolder(Alloc &&A) : Alloc(std::move(A)) {} - Alloc &getAllocator() { return *this; } - const Alloc &getAllocator() const { return *this; } + AllocatorHolder () = default; + AllocatorHolder (const Alloc &A) : Alloc (A) + { + } + AllocatorHolder (Alloc &&A) : Alloc (std::move (A)) + { + } + Alloc & + getAllocator () + { + return *this; + } + const Alloc & + getAllocator () const + { + return *this; + } }; -template class AllocatorHolder { +template class AllocatorHolder +{ Alloc &A; public: - AllocatorHolder(Alloc &A) : A(A) {} - Alloc &getAllocator() { return A; } - const Alloc &getAllocator() const { return A; } + AllocatorHolder (Alloc &A) : A (A) + { + } + Alloc & + getAllocator () + { + return A; + } + const Alloc & + getAllocator () const + { + return A; + } }; } // namespace detail -- cgit v1.2.3