Commit Graph

36 Commits

Author SHA1 Message Date
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
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
c316b8f190 refactor(typetraits): replaces template class type traits with concepts for TypeTraits/TypeProperties.h 2022-05-22 22:35:27 +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
f72d6a53d8 refactor(templates): remove the predefined functors, Lambda is a better choice 2022-04-24 22:54:08 +08:00
6b63436d41 refactor(templates): remove TAtomic::IsLockFree function 2022-04-22 22:33:23 +08:00
4f769a9207 feat(templates): add TAtomic and the corresponding testing 2022-04-12 08:33:19 +08:00
a80860f107 feat(templates): add common functors outside STD and the corresponding testing 2022-04-10 10:25:42 +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
54ab72224f feat(templates): add type hash support and the corresponding testing 2022-03-31 16:40:31 +08:00
d8a4908a88 feat(templates): add TTuple and the corresponding testing 2022-03-31 09:39:30 +08:00
91755d2196 feat(templates): add TUnwrapReference and the corresponding testing 2022-03-26 19:33:28 +08:00
be1d91591c feat(templates): add TAny and the corresponding testing 2022-03-22 11:10:12 +08:00
c7d6c780b9 refactor(testing): put all test functions under the Testing namespace 2022-03-19 13:35:27 +08:00
94416676d2 refactor(testing): rename test functions for Templates to prevent redefinition 2022-03-17 10:19:41 +08:00
1b8b449ed4 style(miscellaneous): move Compare.h from Templates to Miscellaneous 2022-03-16 10:47:17 +08:00
d8ae39b980 feat(templates): add TVariant and the corresponding testing 2022-03-15 19:26:31 +08:00
f7b611febc fix(templates): fix TOptional's operator!= returned an wrong value for invalid value 2022-03-15 11:52:46 +08:00
8a3b089648 feat(templates): add TOptional and the corresponding testing 2022-03-13 23:18:07 +08:00
c2aecef3dd feat(templates): add three-way comparison operator support 2022-03-09 23:35:05 +08:00
2fa4bcea13 feat(templates): add TReferenceWrapper and the corresponding testing 2022-02-09 21:46:39 +08:00
ad80dcd78f style(miscellaneous): rename the Misc directory to Miscellaneous 2022-02-09 17:22:49 +08:00
2bc852b63c feat(templates): add AddressOf function and the corresponding testing 2022-02-09 17:07:47 +08:00
63fdd34789 feat(templates): add Invoke function and corresponding peripheral tools 2022-02-04 21:11:05 +08:00