|
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 |
|
|
096150a305
|
fix(templates): fix TAny's constraints and simplify naming
|
2022-06-21 23:31:46 +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 |
|
|
5d1f622af8
|
refactor(typetraits): TIsDestructible use Cpp17Destructible requirements instead of std::is_destructible
|
2022-05-22 22:33:45 +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 |
|
|
db5ed179c6
|
refactor(templates): add template class specialization TOptional<TReferenceWrapper<T>>
|
2022-05-03 22:20:08 +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 |
|
|
59d3a9eac2
|
feat(miscellaneous): add type traits and memory operations support to FTypeInfo
|
2022-04-30 23:03:29 +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 |
|
|
d634fc3cf8
|
fix(templates): fix TOptional constraints and implementation
|
2022-04-27 23:22:52 +08:00 |
|
|
494928aa6b
|
refactor(*): add check and constraint diagnostics for illegal alignment
|
2022-04-27 22:50:56 +08:00 |
|
|
897ee4f283
|
fix(miscellaneous): fix misbehavior of assertions under some build types
|
2022-04-26 23:04:50 +08:00 |
|
|
099cba38f4
|
refactor(templates): simplify TTuple implementation
|
2022-04-25 23:04:19 +08:00 |
|