Commit Graph

  • 5909d20605 feat(containers): add TFunctionalInputIterator and operations support _Redstone_c_ 2023-02-18 19:09:39 +08:00
  • f521c2b5d5 fix(templates): fix FNoncopyable to satisfy the CMovable concept _Redstone_c_ 2023-02-17 23:31:24 +08:00
  • bae95fa438 feat(containers): add TCountedIterator and operations support _Redstone_c_ 2023-02-16 23:34:21 +08:00
  • 4bbb8e395a feat(containers): add ENABLE_RANGE_BASED_FOR_LOOP_SUPPORT macro definition _Redstone_c_ 2023-02-15 23:41:05 +08:00
  • 273be032ec feat(containers): add TMoveIterator and operations support _Redstone_c_ 2023-02-15 23:36:18 +08:00
  • c4e0528d93 fix(memory): support for creating TUniqueRef object from MakeUnique() _Redstone_c_ 2023-02-14 23:53:34 +08:00
  • fb0d1e978d refactor(memory): disable comparison of TUniquePtr and TSharedPtr with nullptr _Redstone_c_ 2023-02-13 23:31:58 +08:00
  • 0c54bbe2ac refactor(memory): remove FNoInit versions of MakeUnique() and MakeShared() _Redstone_c_ 2023-02-13 20:58:08 +08:00
  • 05d59ed323 feat(containers): add TReverseIterator and operations support _Redstone_c_ 2023-02-13 19:26:09 +08:00
  • 151c90d371 refactor(memory): summing allocator support into one header file _Redstone_c_ 2023-02-13 18:51:53 +08:00
  • 4ab63da977 feat(containers): add iterator concepts and operations support _Redstone_c_ 2023-02-12 23:46:30 +08:00
  • 3efabc342f fix(memory): fix segfault error caused by freeing nullptr with Free() _Redstone_c_ 2023-02-12 23:45:13 +08:00
  • 05e62e1381 feat(containers): add TArray and the corresponding testing _Redstone_c_ 2023-02-08 23:30:46 +08:00
  • febffc453a feat(memory): add FAllocatorInterface and FHeapAllocator _Redstone_c_ 2023-01-24 18:57:45 +08:00
  • c634c2757c feat(memory): add InOutPtr and the corresponding testing _Redstone_c_ 2023-01-21 14:34:57 +08:00
  • 73b5305d34 fix(miscellaneous): fix LNK2005 errors of MSVC caused by GSignalDefault etc _Redstone_c_ 2023-01-20 23:33:30 +08:00
  • c7f50957db perf(miscellaneous): optimize check_no_entry() and unimplemented() _Redstone_c_ 2023-01-20 23:22:19 +08:00
  • 0d99fad3f0 feat(memory): add TObserverPtr and the corresponding testing _Redstone_c_ 2023-01-20 22:40:54 +08:00
  • 1b2ea5c2a6 feat(templates): add TRetainedRef and the corresponding testing _Redstone_c_ 2023-01-20 21:21:26 +08:00
  • 2ef2c4a729 feat(templates): add TPropagateConst and the corresponding testing _Redstone_c_ 2023-01-20 21:02:28 +08:00
  • e498d9b0b8 refactor(*): move TUniquePtr and TSharedPtr to memory from templates category _Redstone_c_ 2023-01-19 19:34:17 +08:00
  • d029ab0dfc feat(miscellaneous): add program support utilities such as Abort() or System() etc _Redstone_c_ 2023-01-19 19:17:45 +08:00
  • 52cd65dbad feat(templates): add TPointerTraits and the corresponding testing _Redstone_c_ 2023-01-16 19:27:39 +08:00
  • 96e6fb22cd fix(memory): fix alignment of operator new to __STDCPP_DEFAULT_NEW_ALIGNMENT__ _Redstone_c_ 2023-01-15 21:57:16 +08:00
  • c38714220e refactor(templates): remove TSharedPtr<T>::ToSharedRef(T*) function overload _Redstone_c_ 2023-01-15 18:41:38 +08:00
  • 5c2c1b4a48 fix(templates): fix TSharedFromThis not working for indirectly derived _Redstone_c_ 2023-01-15 18:14:09 +08:00
  • 78979b414a perf(templates): remove unnecessary and wrong reinterpret_cast in TSharedPtr _Redstone_c_ 2023-01-13 23:14:11 +08:00
  • caabc51803 feat(templates): add CTUniquePtr and CTSharedPtr etc _Redstone_c_ 2023-01-12 22:06:10 +08:00
  • 10b8e0fc45 fix(templates): fix requires of TUniquePtr and TSharedPtr for arrays _Redstone_c_ 2023-01-11 23:14:40 +08:00
  • 9472686d99 feat(templates): add TSharedPtr and the corresponding testing _Redstone_c_ 2023-01-11 19:29:17 +08:00
  • 49023da0c1 feat(memory): add memory leak check assertion _Redstone_c_ 2023-01-11 19:24:02 +08:00
  • d8543421a0 feat(miscellaneous): add DO_CHECK and check_code() assertion macros _Redstone_c_ 2023-01-09 22:00:34 +08:00
  • d825285a4a feat(typetraits): add CDerivedFrom and the corresponding testing _Redstone_c_ 2023-01-08 18:03:05 +08:00
  • c7e3ac32b4 refactor(templates): TUniquePtr calls the deleter using Invoke() instead _Redstone_c_ 2023-01-07 11:53:29 +08:00
  • b7c3ffd0fb perf(templates): optimize the performance of TAtomic::FetchFn() _Redstone_c_ 2023-01-07 11:10:19 +08:00
  • 4f4a351316 perf(templates): simplify the requires for TUniquePtr and rename something _Redstone_c_ 2023-01-06 19:24:15 +08:00
  • 1a5f3c9c54 refactor(templates): modify the TReferenceWrapper to be like std _Redstone_c_ 2023-01-06 19:14:35 +08:00
  • 403f0721e1 feat(templates): add TUniquePtr and the corresponding testing _Redstone_c_ 2023-01-06 18:28:31 +08:00
  • 55242cdd99 refactor(templates): remove TFunctionRef::IsValid() etc to avoid ambiguity _Redstone_c_ 2023-01-03 20:40:27 +08:00
  • 72fd58b8bd refactor(templates): change the derived class of FNoncopyable to private inheritance _Redstone_c_ 2023-01-03 19:22:06 +08:00
  • 11a717105e chore(git): update .gitignore to ignore test modules _Redstone_c_ 2023-01-03 10:22:21 +08:00
  • 66baa51e30 feat(templates): overloads the GetTypeHash algorithm for array _Redstone_c_ 2023-01-03 10:12:11 +08:00
  • 1deb09480f refactor(templates): restrict the return value types of GetData and GetNum _Redstone_c_ 2023-01-03 08:33:30 +08:00
  • 95b492851a fix(templates): fix the implementation of the Swap algorithm for arrays _Redstone_c_ 2023-01-02 22:03:40 +08:00
  • 96ecd33c16 feat(templates): add TScopeCallback TGuardValue and TScopeCounter _Redstone_c_ 2023-01-02 21:49:24 +08:00
  • 0709f209c8 feat(templates): add initializer_list overloads to the in place constructor and emplace _Redstone_c_ 2022-12-31 19:19:30 +08:00
  • 5338cd286a feat(templates): overloads the Swap algorithm for array _Redstone_c_ 2022-12-30 19:19:18 +08:00
  • e4d59b9832 refactor(templates): add final specifier for template class _Redstone_c_ 2022-12-30 19:11:01 +08:00
  • 9368a49806 style(*): add comments and attribute specifiers _Redstone_c_ 2022-12-29 21:55:02 +08:00
  • b75cb30f4f refactor(templates): refactor GetTypeHash and Swap to friend _Redstone_c_ 2022-12-19 18:00:52 +08:00
  • de059cb980 fix(templates): disable TReferenceWrapper swap and enable it into FAny _Redstone_c_ 2022-12-18 19:28:33 +08:00
  • d87d292691 refactor(templates): refactor operator== and operator<=> to member or friend _Redstone_c_ 2022-12-18 19:11:53 +08:00
  • 6cee8a1185 refactor(templates): remove unnecessary or harmful FORCEINLINE _Redstone_c_ 2022-12-16 23:23:05 +08:00
  • b6c76ceadc refactor(templates): remove TOptional<TReferenceWrapper<T>> specialization _Redstone_c_ 2022-12-16 22:04:35 +08:00
  • 441df3791c fix(templates): fix requirements for FAny and TAtomic _Redstone_c_ 2022-12-16 19:30:55 +08:00
  • a8e1852b34 refactor(templates): refactor FAny to a non-template class _Redstone_c_ 2022-12-15 23:38:51 +08:00
  • 6b42dbdc05 feat(memory): add template function overload for Memmove and Memcmp _Redstone_c_ 2022-12-15 23:37:41 +08:00
  • 015b6df809 fix(templates): fix TFunction does not call constructs of empty type _Redstone_c_ 2022-12-14 22:11:30 +08:00
  • cbc4e3f926 fix(templates): fix TFunction incorrectly calling copy constructor in move constructor _Redstone_c_ 2022-12-13 23:18:36 +08:00
  • ca67769796 refactor(templates): do not allow TReferenceWrapper to rebind a new object _Redstone_c_ 2022-12-13 22:11:10 +08:00
  • ac9e0d38a6 refactor(templates): add FORCEINLINE to the constexpr function _Redstone_c_ 2022-12-13 22:02:39 +08:00
  • 89c173897e perf(templates): refactor the TFunction so that it no longer refers to TAny _Redstone_c_ 2022-12-12 22:07:12 +08:00
  • e886927a2b refactor(templates): remove TTuple::ApplyAfter and TTuple::ApplyBefore _Redstone_c_ 2022-12-03 23:15:02 +08:00
  • 9cc7ac9480 refactor(templates): refactor TVariant::Visit to Visit _Redstone_c_ 2022-12-03 23:14:25 +08:00
  • 797386f3d6 fix(templates): fix the type selection of TVariant's converting constructor _Redstone_c_ 2022-12-03 23:12:29 +08:00
  • 01eec5d4c0 feat(templates): add TTypeSequence and meta tools _Redstone_c_ 2022-12-03 23:11:05 +08:00
  • c4c1430e46 feat(templates): add specialization of GetData and GetNum to initializer_list _Redstone_c_ 2022-11-23 23:27:45 +08:00
  • 246965af79 fix(templates): add constexpr specifier to TTuple's lifecycle functions _Redstone_c_ 2022-11-22 23:37:31 +08:00
  • 058f07fedc refactor(templates): allow some template classes to derive and replace some using with inheritance _Redstone_c_ 2022-11-21 23:28:19 +08:00
  • e35fa9dd11 fix(templates): fix DeclVal implementation _Redstone_c_ 2022-11-21 22:04:17 +08:00
  • 6a70d4273e fix(templates): fix FSingleton not working correctly with EBO on MSVC _Redstone_c_ 2022-11-18 23:17:54 +08:00
  • a4ac19673f refactor(templates): trivializes TOptional and TVariant operations for types that use trivially copy/move operations _Redstone_c_ 2022-11-17 23:17:50 +08:00
  • f96c000b9e refactor(*): make the template class concept indistinguishable from cv-qualified _Redstone_c_ 2022-11-17 20:57:54 +08:00
  • 9a3c957b38 refactor(templates): add sizeof...(Ts) > 0 constraint to TVariant _Redstone_c_ 2022-11-17 18:48:20 +08:00
  • 3f56a2beca style(*): enclose the requires expression in parentheses as required by GCC _Redstone_c_ 2022-11-16 22:03:54 +08:00
  • d37eee0d23 style(*): replaces Types... in the template parameters with Ts... _Redstone_c_ 2022-11-16 19:13:37 +08:00
  • f347132725 fix(templates): fix compile error in TReferenceWrapper constructor _Redstone_c_ 2022-11-15 22:15:10 +08:00
  • 391670adb7 feat(templates): remove AsConst for array _Redstone_c_ 2022-11-15 21:02:29 +08:00
  • af07b1a134 refactor(templates): enhance encapsulation by changing part of the struct to a class _Redstone_c_ 2022-11-15 19:28:43 +08:00
  • 226f5a34e9 feat(templates): add CAnyCustomStorage for TAny _Redstone_c_ 2022-11-14 21:05:53 +08:00
  • 9ff3b1c583 refactor(templates): optimize TAny and TFunction and fix TFunction alignment problem _Redstone_c_ 2022-11-13 22:21:00 +08:00
  • 096150a305 fix(templates): fix TAny's constraints and simplify naming _Redstone_c_ 2022-06-21 23:31:46 +08:00
  • f1d4d99ecf refactor(*): replaces template class type traits with C++20 at all _Redstone_c_ 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 _Redstone_c_ 2022-06-05 22:52:55 +08:00
  • 8b902d15a4 refactor(typetraits): replaces template class type traits with alias template for TypeTraits/Common.h _Redstone_c_ 2022-05-29 23:18:20 +08:00
  • c6620da1dd refactor(typetraits): replaces template class type traits with alias template for TypeTraits/CopyQualifiers.h _Redstone_c_ 2022-05-22 23:19:30 +08:00
  • 4205a23310 refactor(typetraits): replaces template class type traits with alias template for TypeTraits/Invocable.h _Redstone_c_ 2022-05-22 23:05:11 +08:00
  • 2ce259e7cc refactor(typetraits): replaces template class type traits with alias template for TypeTraits/Miscellaneous.h _Redstone_c_ 2022-05-22 22:52:47 +08:00
  • 97910be70c refactor(typetraits): simplifies concept selection and removes the concept of bitwise operations _Redstone_c_ 2022-05-21 22:39:22 +08:00
  • ee46d84897 refactor(typetraits): replaces template class type traits with concepts at all _Redstone_c_ 2022-05-20 23:35:36 +08:00
  • 6a5a101af4 refactor(typetraits): replaces template class type traits with concepts for TypeTraits/Miscellaneous.h _Redstone_c_ 2022-05-16 23:09:04 +08:00
  • 413762a90a refactor(typetraits): replaces template class type traits with concepts for TypeTraits/SupportedOperations.h _Redstone_c_ 2022-05-16 22:42:17 +08:00
  • c316b8f190 refactor(typetraits): replaces template class type traits with concepts for TypeTraits/TypeProperties.h _Redstone_c_ 2022-05-15 23:22:49 +08:00
  • 22fe906eda refactor(typetraits): replaces template class type traits with concepts for TypeTraits/CompositeType.h _Redstone_c_ 2022-05-15 23:10:02 +08:00
  • 1dcd3dc3b3 refactor(typetraits): replaces template class type traits with concepts for TypeTraits/PrimaryType.h _Redstone_c_ 2022-05-15 22:56:53 +08:00
  • 5d1f622af8 refactor(typetraits): TIsDestructible use Cpp17Destructible requirements instead of std::is_destructible _Redstone_c_ 2022-05-15 14:18:39 +08:00
  • 13e3b49118 refactor(templates): TFunction replaces using type aliases with derived classes _Redstone_c_ 2022-05-14 22:52:21 +08:00
  • eeef55e9b4 refactor(*): remove FTypeInfo and replace it with the native std::type_info _Redstone_c_ 2022-05-12 23:36:32 +08:00
  • db5ed179c6 refactor(templates): add template class specialization TOptional<TReferenceWrapper<T>> _Redstone_c_ 2022-05-03 22:20:08 +08:00
  • 522c71f2b6 refactor(templates): optimize the implementation of TOptional and TVariant _Redstone_c_ 2022-05-03 18:22:41 +08:00