Commit Graph

37 Commits

Author SHA1 Message Date
84bf411752 refactor(memory): add allocator EBO helper macro and use it for TInlineAllocator 2023-03-02 22:51:45 +08:00
a15ff69809 refactor(memory): remove FDefaultAllocator and directly specify a specific 2023-02-27 23:29:34 +08:00
343ff8d240 refactor(templates): refactor the return value of GetData() to TObserverPtr 2023-02-26 19:01:32 +08:00
e9f780622f feat(containers): add TStaticArray and operations support 2023-02-24 19:09:22 +08:00
9debe74b32 refactor(*): remove constexpr for containers and allocators 2023-02-22 23:37:51 +08:00
e8c9f9cc23 feat(memory): add TInlineAllocator and the corresponding testing 2023-02-22 23:33:10 +08:00
c4e0528d93 fix(memory): support for creating TUniqueRef object from MakeUnique() 2023-02-14 23:53:34 +08:00
fb0d1e978d refactor(memory): disable comparison of TUniquePtr and TSharedPtr with nullptr 2023-02-13 23:31:58 +08:00
0c54bbe2ac refactor(memory): remove FNoInit versions of MakeUnique() and MakeShared() 2023-02-13 21:56:16 +08:00
151c90d371 refactor(memory): summing allocator support into one header file 2023-02-13 18:51:53 +08:00
febffc453a feat(memory): add FAllocatorInterface and FHeapAllocator 2023-02-08 23:18:24 +08:00
c634c2757c feat(memory): add InOutPtr and the corresponding testing 2023-01-21 14:34:57 +08:00
0d99fad3f0 feat(memory): add TObserverPtr and the corresponding testing 2023-01-20 23:02:57 +08:00
e498d9b0b8 refactor(*): move TUniquePtr and TSharedPtr to memory from templates category 2023-01-19 19:34:17 +08:00
96e6fb22cd fix(memory): fix alignment of operator new to __STDCPP_DEFAULT_NEW_ALIGNMENT__ 2023-01-15 21:57:16 +08:00
49023da0c1 feat(memory): add memory leak check assertion 2023-01-11 19:24:02 +08:00
9368a49806 style(*): add comments and attribute specifiers 2022-12-29 21:55:02 +08:00
6b42dbdc05 feat(memory): add template function overload for Memmove and Memcmp 2022-12-15 23:37:41 +08:00
ac9e0d38a6 refactor(templates): add FORCEINLINE to the constexpr function 2022-12-13 22:02:39 +08:00
058f07fedc refactor(templates): allow some template classes to derive and replace some using with inheritance 2022-11-21 23:28:19 +08:00
3f56a2beca style(*): enclose the requires expression in parentheses as required by GCC 2022-11-16 22:03:54 +08:00
8e31a82a1f fix(memory): fix compile error when memory constructs such as Memory::CopyConstruct for cv qualifiers type 2022-06-05 22:52:55 +08:00
97910be70c refactor(typetraits): simplifies concept selection and removes the concept of bitwise operations 2022-05-22 22:36:49 +08:00
ee46d84897 refactor(typetraits): replaces template class type traits with concepts at all 2022-05-22 22:36:30 +08:00
413762a90a refactor(typetraits): replaces template class type traits with concepts for TypeTraits/SupportedOperations.h 2022-05-22 22:36:04 +08:00
1dcd3dc3b3 refactor(typetraits): replaces template class type traits with concepts for TypeTraits/PrimaryType.h 2022-05-22 22:34:43 +08:00
5d1f622af8 refactor(typetraits): TIsDestructible use Cpp17Destructible requirements instead of std::is_destructible 2022-05-22 22:33:45 +08:00
eeef55e9b4 refactor(*): remove FTypeInfo and replace it with the native std::type_info 2022-05-12 23:36:32 +08:00
c2c4a03974 feat(memory): add CopyConstruct and the Count parameter uses the size_t 2022-04-30 21:33:18 +08:00
494928aa6b refactor(*): add check and constraint diagnostics for illegal alignment 2022-04-27 22:50:56 +08:00
b3a97cfe21 refactor(memory): make the Align function use the maximum integer uint64 2022-04-24 22:16:56 +08:00
98e8e87c7a refactor(memory): use static_assert's assertion limit as a constraint 2022-04-10 20:14:46 +08:00
bb89dd6509 refactor(miscellaneous): renamed builtin type, add fixed-width character type 2022-04-08 17:29:05 +08:00
54ab72224f feat(templates): add type hash support and the corresponding testing 2022-03-31 16:40:31 +08:00
e03cfa956c feat(miscellaneous): add attribute specifier support 2022-03-19 23:07:04 +08:00
beaf5635ba feat(memory): add Memory/MemoryOperator.h and the corresponding testing 2022-03-19 16:05:47 +08:00
cd1a8da1a8 feat(memory): complete low-level memory management utilities 2022-03-18 20:17:28 +08:00