Commit Graph

94 Commits

Author SHA1 Message Date
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
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
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
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
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
49023da0c1 feat(memory): add memory leak check assertion 2023-01-11 19:24:02 +08:00
d825285a4a feat(typetraits): add CDerivedFrom and the corresponding testing 2023-01-08 18:03:05 +08:00
403f0721e1 feat(templates): add TUniquePtr and the corresponding testing 2023-01-06 18:28:31 +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
9368a49806 style(*): add comments and attribute specifiers 2022-12-29 21:55:02 +08:00
d87d292691 refactor(templates): refactor operator== and operator<=> to member or friend 2022-12-18 19:11:53 +08:00
a8e1852b34 refactor(templates): refactor FAny to a non-template class 2022-12-15 23:38:51 +08:00
6b42dbdc05 feat(memory): add template function overload for Memmove and Memcmp 2022-12-15 23:37:41 +08:00
89c173897e perf(templates): refactor the TFunction so that it no longer refers to TAny 2022-12-12 23:29:22 +08:00
e886927a2b refactor(templates): remove TTuple::ApplyAfter and TTuple::ApplyBefore 2022-12-03 23:15:02 +08:00
9cc7ac9480 refactor(templates): refactor TVariant::Visit to Visit 2022-12-03 23:14:25 +08:00
797386f3d6 fix(templates): fix the type selection of TVariant's converting constructor 2022-12-03 23:12:29 +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
af07b1a134 refactor(templates): enhance encapsulation by changing part of the struct to a class 2022-11-15 19:28:43 +08:00
9ff3b1c583 refactor(templates): optimize TAny and TFunction and fix TFunction alignment problem 2022-11-14 19:05:17 +08:00
f1d4d99ecf refactor(*): replaces template class type traits with C++20 at all 2022-06-16 23:37:29 +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
8b902d15a4 refactor(typetraits): replaces template class type traits with alias template for TypeTraits/Common.h 2022-05-29 23:18:20 +08:00
c6620da1dd refactor(typetraits): replaces template class type traits with alias template for TypeTraits/CopyQualifiers.h 2022-05-22 23:19:30 +08:00
4205a23310 refactor(typetraits): replaces template class type traits with alias template for TypeTraits/Invocable.h 2022-05-22 23:05:11 +08:00
2ce259e7cc refactor(typetraits): replaces template class type traits with alias template for TypeTraits/Miscellaneous.h 2022-05-22 22:52:47 +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
6a5a101af4 refactor(typetraits): replaces template class type traits with concepts for TypeTraits/Miscellaneous.h 2022-05-22 22:36:15 +08:00
413762a90a refactor(typetraits): replaces template class type traits with concepts for TypeTraits/SupportedOperations.h 2022-05-22 22:36:04 +08:00
c316b8f190 refactor(typetraits): replaces template class type traits with concepts for TypeTraits/TypeProperties.h 2022-05-22 22:35:27 +08:00
22fe906eda refactor(typetraits): replaces template class type traits with concepts for TypeTraits/CompositeType.h 2022-05-22 22:35:11 +08:00
1dcd3dc3b3 refactor(typetraits): replaces template class type traits with concepts for TypeTraits/PrimaryType.h 2022-05-22 22:34:43 +08:00
13e3b49118 refactor(templates): TFunction replaces using type aliases with derived classes 2022-05-14 22:52:21 +08:00
eeef55e9b4 refactor(*): remove FTypeInfo and replace it with the native std::type_info 2022-05-12 23:36:32 +08:00
522c71f2b6 refactor(templates): optimize the implementation of TOptional and TVariant 2022-05-03 18:22:41 +08:00
a737eea487 refactor(templates): disable TFunctionRef to bind r-valued callable 2022-05-01 18:02:26 +08:00
eb814e37d3 refactor(templates): optimize TAny implementation, increase inline storage size 2022-04-30 23:38:09 +08:00
c2c4a03974 feat(memory): add CopyConstruct and the Count parameter uses the size_t 2022-04-30 21:33:18 +08:00
7aadebba70 refactor(miscellaneous): replace TSynthThreeWay with the function version 2022-04-30 19:27:25 +08:00
38902eb779 fix(typetraits): fix implementation of TIsScopedEnum TIsSwappable and TIsBitwiseConstructible 2022-04-30 19:25:17 +08:00