|
d8543421a0
|
feat(miscellaneous): add DO_CHECK and check_code() assertion macros
|
2023-01-09 22:00:34 +08:00 |
|
|
d825285a4a
|
feat(typetraits): add CDerivedFrom and the corresponding testing
|
2023-01-08 18:03:05 +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 |
|
|
11a717105e
|
chore(git): update .gitignore to ignore test modules
|
2023-01-03 10:22:21 +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 |
|
|
6b42dbdc05
|
feat(memory): add template function overload for Memmove and Memcmp
|
2022-12-15 23:37:41 +08:00 |
|
|
015b6df809
|
fix(templates): fix TFunction does not call constructs of empty type
|
2022-12-14 22:11:30 +08:00 |
|
|
cbc4e3f926
|
fix(templates): fix TFunction incorrectly calling copy constructor in move constructor
|
2022-12-13 23:26:53 +08:00 |
|
|
ca67769796
|
refactor(templates): do not allow TReferenceWrapper to rebind a new object
|
2022-12-13 23:13:14 +08:00 |
|
|
ac9e0d38a6
|
refactor(templates): add FORCEINLINE to the constexpr function
|
2022-12-13 22:02:39 +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 |
|
|
01eec5d4c0
|
feat(templates): add TTypeSequence and meta tools
|
2022-12-03 23:11:05 +08:00 |
|
|
c4c1430e46
|
feat(templates): add specialization of GetData and GetNum to initializer_list
|
2022-11-23 23:27:45 +08:00 |
|
|
246965af79
|
fix(templates): add constexpr specifier to TTuple's lifecycle functions
|
2022-11-22 23:37:31 +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 |
|
|
e35fa9dd11
|
fix(templates): fix DeclVal implementation
|
2022-11-21 22:04:17 +08:00 |
|
|
6a70d4273e
|
fix(templates): fix FSingleton not working correctly with EBO on MSVC
make CAnyCustomStorage satisfy the concept of FSingleton
|
2022-11-18 23:18:58 +08:00 |
|
|
a4ac19673f
|
refactor(templates): trivializes TOptional and TVariant operations for types that use trivially copy/move operations
|
2022-11-17 23:17:50 +08:00 |
|
|
f96c000b9e
|
refactor(*): make the template class concept indistinguishable from cv-qualified
|
2022-11-17 20:57:54 +08:00 |
|
|
9a3c957b38
|
refactor(templates): add sizeof...(Ts) > 0 constraint to TVariant
|
2022-11-17 18:48:20 +08:00 |
|
|
3f56a2beca
|
style(*): enclose the requires expression in parentheses as required by GCC
|
2022-11-16 22:03:54 +08:00 |
|
|
d37eee0d23
|
style(*): replaces Types... in the template parameters with Ts...
|
2022-11-16 19:13:37 +08:00 |
|
|
f347132725
|
fix(templates): fix compile error in TReferenceWrapper constructor
|
2022-11-15 22:15:10 +08:00 |
|
|
391670adb7
|
feat(templates): remove AsConst for array
|
2022-11-15 21:02:29 +08:00 |
|
|
af07b1a134
|
refactor(templates): enhance encapsulation by changing part of the struct to a class
|
2022-11-15 19:28:43 +08:00 |
|
|
226f5a34e9
|
feat(templates): add CAnyCustomStorage for TAny
|
2022-11-14 21:07:45 +08:00 |
|
|
9ff3b1c583
|
refactor(templates): optimize TAny and TFunction and fix TFunction alignment problem
|
2022-11-14 19:05:17 +08:00 |
|