Commit Graph

143 Commits

Author SHA1 Message Date
bcc39fdf55 refactor(miscellaneous): clarify which fundamental types are used where 2024-11-24 20:09:31 +08:00
e19fc56d35 feat(templates): add Num function to TTuple 2024-11-08 11:40:13 +08:00
05af651232 feat(templates): add visit element by runtime index functions to TTuple 2024-11-05 23:02:34 +08:00
bbf42659de fix(templates): fix TOptional::operator* compilation error 2024-11-03 11:06:42 +08:00
475b9e1958 feat(templates): add TOptional specialization for references 2024-11-02 15:27:21 +08:00
decd75ec46 fix(templates): fix TReferenceWrapper::operator= no return value 2024-11-01 23:20:55 +08:00
ec2a240c23 refactor(*): remove TObserverPtr and use raw pointer instead 2024-11-01 19:51:44 +08:00
9785326b18 feat(memory): add ToAddress and refactor the code with it 2024-11-01 15:11:45 +08:00
ea3d94f9e2 fix(templates): remove wrong template default parameter for TOptional 2024-10-30 16:00:39 +08:00
3e93da7f44 perf(templates): fix unclear overloading of HashCombine 2024-10-08 21:00:50 +08:00
9045f9b3b2 refactor(*): fix EBO issues and remove NAMESPACE_PRIVATE about containers 2023-03-04 19:19:27 +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
02cdce39e2 feat(templates): add MakeAny() and fix MakeOptional() 2023-02-20 18:53:59 +08:00
f521c2b5d5 fix(templates): fix FNoncopyable to satisfy the CMovable concept 2023-02-17 23:31:24 +08:00
0c54bbe2ac refactor(memory): remove FNoInit versions of MakeUnique() and MakeShared() 2023-02-13 21:56:16 +08:00
febffc453a feat(memory): add FAllocatorInterface and FHeapAllocator 2023-02-08 23:18:24 +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
52cd65dbad feat(templates): add TPointerTraits and the corresponding testing 2023-01-16 21:02:54 +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
78979b414a perf(templates): remove unnecessary and wrong reinterpret_cast in TSharedPtr 2023-01-13 23:14:11 +08:00
caabc51803 feat(templates): add CTUniquePtr and CTSharedPtr etc 2023-01-12 22:06:10 +08:00
10b8e0fc45 fix(templates): fix requires of TUniquePtr and TSharedPtr for arrays 2023-01-11 23:14:40 +08:00
9472686d99 feat(templates): add TSharedPtr and the corresponding testing 2023-01-11 19:29:17 +08:00
c7e3ac32b4 refactor(templates): TUniquePtr calls the deleter using Invoke() instead 2023-01-07 19:30:21 +08:00
b7c3ffd0fb perf(templates): optimize the performance of TAtomic::FetchFn() 2023-01-07 11:10:19 +08:00
4f4a351316 perf(templates): simplify the requires for TUniquePtr and rename something 2023-01-06 20:24:28 +08:00
1a5f3c9c54 refactor(templates): modify the TReferenceWrapper to be like std 2023-01-06 19:17:41 +08:00
403f0721e1 feat(templates): add TUniquePtr and the corresponding testing 2023-01-06 18:28:31 +08:00
55242cdd99 refactor(templates): remove TFunctionRef::IsValid() etc to avoid ambiguity 2023-01-03 20:40:27 +08:00
72fd58b8bd refactor(templates): change the derived class of FNoncopyable to private inheritance 2023-01-03 19:22:06 +08:00
66baa51e30 feat(templates): overloads the GetTypeHash algorithm for array 2023-01-03 10:15:38 +08:00
1deb09480f refactor(templates): restrict the return value types of GetData and GetNum 2023-01-03 10:15:38 +08:00
95b492851a fix(templates): fix the implementation of the Swap algorithm for arrays 2023-01-03 10:15:38 +08:00
96ecd33c16 feat(templates): add TScopeCallback TGuardValue and TScopeCounter 2023-01-03 10:15:38 +08:00
0709f209c8 feat(templates): add initializer_list overloads to the in place constructor and emplace 2023-01-03 10:15:38 +08:00
5338cd286a feat(templates): overloads the Swap algorithm for array 2023-01-03 10:14:53 +08:00
e4d59b9832 refactor(templates): add final specifier for template class 2022-12-30 19:11:01 +08:00
9368a49806 style(*): add comments and attribute specifiers 2022-12-29 21:55:02 +08:00
b75cb30f4f refactor(templates): refactor GetTypeHash and Swap to friend 2022-12-19 18:00:52 +08:00
de059cb980 fix(templates): disable TReferenceWrapper swap and enable it into FAny 2022-12-18 19:28:33 +08:00
d87d292691 refactor(templates): refactor operator== and operator<=> to member or friend 2022-12-18 19:11:53 +08:00
6cee8a1185 refactor(templates): remove unnecessary or harmful FORCEINLINE 2022-12-16 23:23:05 +08:00
b6c76ceadc refactor(templates): remove TOptional<TReferenceWrapper<T>> specialization 2022-12-16 22:04:35 +08:00
441df3791c fix(templates): fix requirements for FAny and TAtomic 2022-12-16 19:30:55 +08:00
a8e1852b34 refactor(templates): refactor FAny to a non-template class 2022-12-15 23:38:51 +08:00
015b6df809 fix(templates): fix TFunction does not call constructs of empty type 2022-12-14 22:11:30 +08:00