|  | 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 |  | 
			
				
					|  | 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 |  | 
			
				
					|  | 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 |  |