Commit Graph

227 Commits

Author SHA1 Message Date
19dc46364a refactor(*): use CAllocatableObject instead of CElementalObject 2023-03-22 22:25:12 +08:00
ff155e23de feat(memory): add CMultipleAllocator for non-contiguous containers 2023-03-22 20:41:32 +08:00
3d951a80db fix(containers): fix assertion when TBitset cannot be represented by uint64 2023-03-17 19:26:57 +08:00
5b7a90cd0b fix(containers): fix operator&= operator|= and operator^= of TBitset 2023-03-17 19:09:48 +08:00
1b33d3b166 feat(containers): add TStaticBitset and the corresponding testing 2023-03-15 23:10:48 +08:00
5021171324 fix(containers): remove operator<=> of TBitset because its order is not defined 2023-03-15 19:22:04 +08:00
1daf90adee fix(containers): fix operator<=> of TArray and TStaticArray to compare lexicographically 2023-03-13 21:53:47 +08:00
dd8b698bb3 feat(containers): enable TBitset to support custom block type 2023-03-13 19:23:44 +08:00
432b6e0a6b feat(containers): add TBitset and the corresponding testing 2023-03-12 23:18:04 +08:00
9045f9b3b2 refactor(*): fix EBO issues and remove NAMESPACE_PRIVATE about containers 2023-03-04 19:19:27 +08:00
5c91059203 refactor(memory): add allocator EBO helper macro and use it for TInlineAllocator 2023-03-02 23:02:58 +08:00
7a8a1648d1 feat(containers): add TArray::Reference and TArray::ConstReference etc 2023-03-01 23:07:29 +08:00
a15ff69809 refactor(memory): remove FDefaultAllocator and directly specify a specific 2023-02-27 23:29:34 +08:00
40d27eece6 refactor(containers): add the CElementalObject concept to constrain elements 2023-02-26 22:13:45 +08:00
c8650b4aa5 feat(containers): add TArrayView and use TObserverPtr instead of raw pointer 2023-02-26 21:55:36 +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
bc3cc3d2cc feat(containers): add helper functions like MakeReverseIterator() etc 2023-02-21 23:22:28 +08:00
02cdce39e2 feat(templates): add MakeAny() and fix MakeOptional() 2023-02-20 18:53:59 +08:00
56cc0a4d69 feat(containers): modify the constructor of iterator adapters to be perfect forwarding 2023-02-19 23:28:54 +08:00
4cec973485 feat(containers): add converting move constructor for iterator adaptors 2023-02-19 21:07:03 +08:00
5e64450bce feat(containers): add TFunctionalOutputIterator and operations support 2023-02-19 19:00:57 +08:00
5909d20605 feat(containers): add TFunctionalInputIterator and operations support 2023-02-18 19:09:39 +08:00
f521c2b5d5 fix(templates): fix FNoncopyable to satisfy the CMovable concept 2023-02-17 23:31:24 +08:00
bae95fa438 feat(containers): add TCountedIterator and operations support 2023-02-16 23:34:21 +08:00
4bbb8e395a feat(containers): add ENABLE_RANGE_BASED_FOR_LOOP_SUPPORT macro definition 2023-02-15 23:41:05 +08:00
273be032ec feat(containers): add TMoveIterator and operations support 2023-02-15 23:36:18 +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
05d59ed323 feat(containers): add TReverseIterator and operations support 2023-02-13 19:26:09 +08:00
151c90d371 refactor(memory): summing allocator support into one header file 2023-02-13 18:51:53 +08:00
4ab63da977 feat(containers): add iterator concepts and operations support 2023-02-12 23:46:30 +08:00
3efabc342f fix(memory): fix segfault error caused by freeing nullptr with Free() 2023-02-12 23:45:13 +08:00
05e62e1381 feat(containers): add TArray and the corresponding testing 2023-02-08 23:31:35 +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
73b5305d34 fix(miscellaneous): fix LNK2005 errors of MSVC caused by GSignalDefault etc 2023-01-20 23:33:30 +08:00
c7f50957db perf(miscellaneous): optimize check_no_entry() and unimplemented() 2023-01-20 23:22:19 +08:00
0d99fad3f0 feat(memory): add TObserverPtr and the corresponding testing 2023-01-20 23:02:57 +08:00
1b2ea5c2a6 feat(templates): add TRetainedRef and the corresponding testing 2023-01-20 22:24:21 +08:00
2ef2c4a729 feat(templates): add TPropagateConst and the corresponding testing 2023-01-20 21:05:08 +08:00
e498d9b0b8 refactor(*): move TUniquePtr and TSharedPtr to memory from templates category 2023-01-19 19:34:17 +08:00
d029ab0dfc feat(miscellaneous): add program support utilities such as Abort() or System() etc 2023-01-19 19:17:45 +08:00
52cd65dbad feat(templates): add TPointerTraits and the corresponding testing 2023-01-16 21:02:54 +08:00
96e6fb22cd fix(memory): fix alignment of operator new to __STDCPP_DEFAULT_NEW_ALIGNMENT__ 2023-01-15 21:57:16 +08:00
c38714220e refactor(templates): remove TSharedPtr<T>::ToSharedRef(T*) function overload 2023-01-15 18:41:38 +08:00
5c2c1b4a48 fix(templates): fix TSharedFromThis not working for indirectly derived 2023-01-15 18:34:04 +08:00