Commit Graph
304 Commits
Author SHA1 Message Date
Redstone1024 6a5a101af4 refactor(typetraits): replaces template class type traits with concepts for TypeTraits/Miscellaneous.h 2022-05-22 22:36:15 +08:00
Redstone1024 413762a90a refactor(typetraits): replaces template class type traits with concepts for TypeTraits/SupportedOperations.h 2022-05-22 22:36:04 +08:00
Redstone1024 c316b8f190 refactor(typetraits): replaces template class type traits with concepts for TypeTraits/TypeProperties.h 2022-05-22 22:35:27 +08:00
Redstone1024 22fe906eda refactor(typetraits): replaces template class type traits with concepts for TypeTraits/CompositeType.h 2022-05-22 22:35:11 +08:00
Redstone1024 1dcd3dc3b3 refactor(typetraits): replaces template class type traits with concepts for TypeTraits/PrimaryType.h 2022-05-22 22:34:43 +08:00
Redstone1024 5d1f622af8 refactor(typetraits): TIsDestructible use Cpp17Destructible requirements instead of std::is_destructible 2022-05-22 22:33:45 +08:00
Redstone1024 13e3b49118 refactor(templates): TFunction replaces using type aliases with derived classes 2022-05-14 22:52:21 +08:00
Redstone1024 eeef55e9b4 refactor(*): remove FTypeInfo and replace it with the native std::type_info 2022-05-12 23:36:32 +08:00
Redstone1024 db5ed179c6 refactor(templates): add template class specialization TOptional<TReferenceWrapper<T>> 2022-05-03 22:20:08 +08:00
Redstone1024 522c71f2b6 refactor(templates): optimize the implementation of TOptional and TVariant 2022-05-03 18:22:41 +08:00
Redstone1024 a737eea487 refactor(templates): disable TFunctionRef to bind r-valued callable 2022-05-01 18:02:26 +08:00
Redstone1024 eb814e37d3 refactor(templates): optimize TAny implementation, increase inline storage size 2022-04-30 23:38:09 +08:00
Redstone1024 59d3a9eac2 feat(miscellaneous): add type traits and memory operations support to FTypeInfo 2022-04-30 23:03:29 +08:00
Redstone1024 c2c4a03974 feat(memory): add CopyConstruct and the Count parameter uses the size_t 2022-04-30 21:33:18 +08:00
Redstone1024 7aadebba70 refactor(miscellaneous): replace TSynthThreeWay with the function version 2022-04-30 19:27:25 +08:00
Redstone1024 38902eb779 fix(typetraits): fix implementation of TIsScopedEnum TIsSwappable and TIsBitwiseConstructible 2022-04-30 19:25:17 +08:00
Redstone1024 d634fc3cf8 fix(templates): fix TOptional constraints and implementation 2022-04-27 23:22:52 +08:00
Redstone1024 494928aa6b refactor(*): add check and constraint diagnostics for illegal alignment 2022-04-27 22:50:56 +08:00
Redstone1024 897ee4f283 fix(miscellaneous): fix misbehavior of assertions under some build types 2022-04-26 23:04:50 +08:00
Redstone1024 099cba38f4 refactor(templates): simplify TTuple implementation 2022-04-25 23:04:19 +08:00
Redstone1024 1dd42be86a feat(miscellaneous): add fixed-length floating-point support 2022-04-25 22:33:55 +08:00
Redstone1024 0ce3d9055b refactor(templates): block direct access to element 16 of TTuple 2022-04-24 23:11:00 +08:00
Redstone1024 ff59698fdc feat(templates): add Ref helper function for TReferenceWrapper 2022-04-24 23:08:00 +08:00
Redstone1024 f72d6a53d8 refactor(templates): remove the predefined functors, Lambda is a better choice 2022-04-24 22:54:08 +08:00
Redstone1024 c2eca8df1e refactor(templates): remove the GetData function from the non-container class 2022-04-24 22:42:40 +08:00
Redstone1024 b3a97cfe21 refactor(memory): make the Align function use the maximum integer uint64 2022-04-24 22:16:56 +08:00
Redstone1024 6b63436d41 refactor(templates): remove TAtomic::IsLockFree function 2022-04-22 22:33:23 +08:00
Redstone1024 04d713cd93 refactor(templates): refactor GetTypeHash into a member function 2022-04-22 22:28:44 +08:00
Redstone1024 63b63ef0b4 chore(*): add Development build type to allow debugging in optimization-enabled mode 2022-04-20 23:38:29 +08:00
Redstone1024 ecbf6480ac refactor(templates): fix the return value derivation of GetData and GetNum 2022-04-19 22:53:23 +08:00
Redstone1024 018d3afb73 refactor(templates): refactor Swap into a member function 2022-04-14 22:41:22 +08:00
Redstone1024 5c82ab1e0d refactor(templates): refining TOptional's constraints 2022-04-13 22:35:30 +08:00
Redstone1024 4f769a9207 feat(templates): add TAtomic and the corresponding testing 2022-04-12 08:33:19 +08:00
Redstone1024 98e8e87c7a refactor(memory): use static_assert's assertion limit as a constraint 2022-04-10 20:14:46 +08:00
Redstone1024 a80860f107 feat(templates): add common functors outside STD and the corresponding testing 2022-04-10 10:25:42 +08:00
Redstone1024 bb89dd6509 refactor(miscellaneous): renamed builtin type, add fixed-width character type 2022-04-08 17:29:05 +08:00
Redstone1024 a086f90f25 refactor(templates): fix the behavior of the TFunction::Target function 2022-04-08 16:52:17 +08:00
Redstone1024 ceccf9d722 feat(templates): add common functors and the corresponding testing 2022-04-08 11:44:36 +08:00
Redstone1024 92523a13b2 feat(templates): add TFunction and the corresponding testing 2022-04-07 15:57:02 +08:00
Redstone1024 988e0335a0 fix(templates): fix Invoke selects the wrong operation when the function has specifiers 2022-04-07 14:52:41 +08:00
Redstone1024 a539f70535 refactor(templates): make FTypeInfo behave more like std::type_info and optimize TAny 2022-04-05 17:00:33 +08:00
Redstone1024 2a3a5aec35 refactor(templates): make TAny use the construct when the operator= is delete 2022-04-05 13:20:00 +08:00
Redstone1024 943c7c5991 refactor(templates): add constraints to reduce duplicate code on TAny etc 2022-04-03 22:55:17 +08:00
Redstone1024 5f4b0d8c22 feat(templates): add type traits to determine if it is TAny etc 2022-03-31 17:36:48 +08:00
Redstone1024 54ab72224f feat(templates): add type hash support and the corresponding testing 2022-03-31 16:40:31 +08:00
Redstone1024 c4c205e35b refactor(templates): optimize TOptional and TVariant, add necessary constraints 2022-03-31 12:07:15 +08:00
Redstone1024 d8a4908a88 feat(templates): add TTuple and the corresponding testing 2022-03-31 09:39:30 +08:00
Redstone1024 fd0bebd7be feat(miscellaneous): add TSynthThreeWay and the corresponding testing 2022-03-30 12:07:48 +08:00
Redstone1024 782f5f5cb2 fix(templates): fix the initialization problem of TVariant members with cv-qualifiers 2022-03-30 12:06:05 +08:00
Redstone1024 91755d2196 feat(templates): add TUnwrapReference and the corresponding testing 2022-03-26 19:33:28 +08:00