Commit Graph

29 Commits

Author SHA1 Message Date
01eec5d4c0 feat(templates): add TTypeSequence and meta tools 2022-12-03 23:11:05 +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
f96c000b9e refactor(*): make the template class concept indistinguishable from cv-qualified 2022-11-17 20:57:54 +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
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
c6620da1dd refactor(typetraits): replaces template class type traits with alias template for TypeTraits/CopyQualifiers.h 2022-05-22 23:19:30 +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
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
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
db5ed179c6 refactor(templates): add template class specialization TOptional<TReferenceWrapper<T>> 2022-05-03 22:20:08 +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
494928aa6b refactor(*): add check and constraint diagnostics for illegal alignment 2022-04-27 22:50:56 +08:00
f72d6a53d8 refactor(templates): remove the predefined functors, Lambda is a better choice 2022-04-24 22:54:08 +08:00
c2eca8df1e refactor(templates): remove the GetData function from the non-container class 2022-04-24 22:42:40 +08:00
04d713cd93 refactor(templates): refactor GetTypeHash into a member function 2022-04-22 22:28:44 +08:00
018d3afb73 refactor(templates): refactor Swap into a member function 2022-04-14 22:41:22 +08:00
a80860f107 feat(templates): add common functors outside STD and the corresponding testing 2022-04-10 10:25:42 +08:00
a086f90f25 refactor(templates): fix the behavior of the TFunction::Target function 2022-04-08 16:52:17 +08:00
ceccf9d722 feat(templates): add common functors and the corresponding testing 2022-04-08 11:44:36 +08:00
92523a13b2 feat(templates): add TFunction and the corresponding testing 2022-04-07 15:57:02 +08:00