Commit Graph

345 Commits

Author SHA1 Message Date
edc6c1924a fix(miscellaneous): fix unreachable indicator function will return 2024-11-27 16:55:37 +08:00
5a5d34e908 refactor(numeric): rename numeric tool library 2024-11-26 12:04:53 +08:00
f60bd0e3e4 feat(numerics): add the mathematical constant tool 2024-11-24 22:39:45 +08:00
987299f9b5 feat(numerics): add TNumericLimits tool 2024-11-24 21:48:09 +08:00
bcc39fdf55 refactor(miscellaneous): clarify which fundamental types are used where 2024-11-24 20:09:31 +08:00
54c795b9a2 feat(miscellaneous): add static assumptions about integral types 2024-11-24 13:14:51 +08:00
1c01ce5bb6 refactor(miscellaneous): refactor platform arithmetic type support 2024-11-21 22:02:39 +08:00
a952c31546 chore(*): add PLATFORM_COMPILER_* macros and other tools 2024-11-21 10:23:17 +08:00
7107fc6b8a feat(miscellaneous): add int128, int_least family, int_fast family and intmax type 2024-11-20 18:08:33 +08:00
2d4dedd876 feat(string): add fundamental type parsing with format string but not elegant enough 2024-11-19 20:35:59 +08:00
edda2b83a1 feat(string): add TStringView to standard C string conversion 2024-11-19 12:04:17 +08:00
19a37ea072 feat(string): add CTStringView and CTString concepts 2024-11-19 11:46:50 +08:00
6230ec9df6 feat(string): add fundamental type formatting with format string and adjust escape braces but not fully tested 2024-11-18 22:35:25 +08:00
f6f696d5a7 refactor(string): refactor string conversion and turning off default parsing options such as auto detect base 2024-11-16 22:21:31 +08:00
1c0c93ee25 refactor(string): refactor string conversion but not fully tested 2024-11-13 22:41:44 +08:00
646d0cb7a4 fix(string): fix string trimming function's return value 2024-11-13 12:53:27 +08:00
3859070d53 feat(string): add string trimming functions 2024-11-12 17:21:36 +08:00
bc93455d0e refactor(string): refactor character and digit conversion to be non-invalidable 2024-11-12 13:32:43 +08:00
fe60fc33e0 feat(string): add string and arithmetic conversion functions 2024-11-11 22:30:15 +08:00
49feb0b12b perf(string): add assertions to character functions that depend on ASCII compatibilitya 2024-11-11 12:33:00 +08:00
f8ef1da107 refactor(string): add base-checking to conversions between characters and digits 2024-11-11 12:20:29 +08:00
09bbcecc28 feat(string): add functions to categorize strings 2024-11-10 19:24:40 +08:00
7a80a80a12 fix(string): fix incorrect TChar results due to signed char 2024-11-10 19:21:49 +08:00
90c2a37a2c feat(string): add TChar::IsASCII to determine if it is an ASCII character 2024-11-10 18:45:15 +08:00
43c59399d1 feat(string): add formatting without format string of arithmetic types to strings 2024-11-08 22:12:24 +08:00
0bb036eec7 refactor(string): change the placeholder escape for format string to <[{ }]> avoiding surprises 2024-11-08 22:10:22 +08:00
d8803880f1 feat(string): add parsing of arithmetic types from strings 2024-11-08 20:46:57 +08:00
211a30525e feat(string): add string parsing and formatting functions 2024-11-08 20:38:19 +08:00
76e96b06c7 refactor(string): refactor string find family to return INDEX_NONE without check(false) when index is invalid 2024-11-08 17:55:35 +08:00
e19fc56d35 feat(templates): add Num function to TTuple 2024-11-08 11:40:13 +08:00
05af651232 feat(templates): add visit element by runtime index functions to TTuple 2024-11-05 23:02:34 +08:00
258aabbde0 fix(typetraits): fix CCommonType is incorrect for void 2024-11-05 22:41:45 +08:00
2a4d65c60e fix(string): fix TStringView's member function incorrectly return TArrayView 2024-11-03 21:22:01 +08:00
64b468d612 feat(string): add macros such as TEXT_VIEW to create string view text literals 2024-11-03 15:56:38 +08:00
bbf42659de fix(templates): fix TOptional::operator* compilation error 2024-11-03 11:06:42 +08:00
8507ae32e3 refactor(string): refactor TStringView to inherit from TArrayView 2024-11-03 10:45:54 +08:00
3ed3ec5258 refactor(string): refactor TString to inherit from TArray and without null-termination 2024-11-02 23:18:13 +08:00
2bb0ddee5b fix(containers): fix TArray lost all elements after move assignment 2024-11-02 23:07:05 +08:00
728b91c317 fix(containers): fix the final qualifier of container's iterators 2024-11-02 20:52:10 +08:00
243076cfec refactor(containers): remove the container's final qualifier allows it to be inherited 2024-11-02 20:49:48 +08:00
475b9e1958 feat(templates): add TOptional specialization for references 2024-11-02 15:27:21 +08:00
decd75ec46 fix(templates): fix TReferenceWrapper::operator= no return value 2024-11-01 23:20:55 +08:00
ec2a240c23 refactor(*): remove TObserverPtr and use raw pointer instead 2024-11-01 19:51:44 +08:00
9785326b18 feat(memory): add ToAddress and refactor the code with it 2024-11-01 15:11:45 +08:00
1cfa252779 fix(containers): remove qualifiers for Iterator::ElementType 2024-10-30 23:14:52 +08:00
1f20b782bf fix(containers): fix incorrect behavior when converting to TArrayView 2024-10-30 16:30:24 +08:00
ea3d94f9e2 fix(templates): remove wrong template default parameter for TOptional 2024-10-30 16:00:39 +08:00
700c901c7b perf(containers): refactor TArray and TList some functions by TConstantIterator 2024-10-29 21:19:44 +08:00
38806ca2b6 fix(containers): fix TCountedIterator::operator- compilation error 2024-10-29 21:07:25 +08:00
615fb2429d fix(containers): fix the constant branch of Iteration::Distance never entered 2024-10-29 21:05:24 +08:00
e73cf69cb9 feat(string): add string encoding conversion function 2024-10-29 20:44:38 +08:00
155044cc52 feat(containers): add TString and the corresponding testing 2024-10-28 17:51:21 +08:00
07c826fe86 feat(miscellaneous): add TConstantIterator 2024-10-28 17:49:50 +08:00
d73140c24c fix(containers): fix TArray move constructor not setting rvalue to empty 2024-10-28 15:59:45 +08:00
93d0ceb2b9 fix(containers): fix TCountedIterator implementation 2024-10-27 21:59:01 +08:00
e5cd9d90a1 feat(containers): public TDefaultBitsetAllocator to allow users to use it 2024-10-27 11:39:51 +08:00
cc318f693f feat(string): add TStringView and remove TCString and merge it into TStringView 2024-10-27 11:29:45 +08:00
3df9122ef0 refactor(string): refactor TChar to enhance support for unicode 2024-10-26 21:15:27 +08:00
66dc21310f fix(containers): fix circular include references 2024-10-26 16:34:16 +08:00
1d101ce034 refactor(containers): remove TInputIterator and TOutputIterator 2024-10-24 15:24:29 +08:00
3e93da7f44 perf(templates): fix unclear overloading of HashCombine 2024-10-08 21:00:50 +08:00
7a08385963 style(miscellaneous): clarify the locale and encoding corresponding to the character type 2024-10-06 16:20:45 +08:00
517916fa53 refactor(miscellaneous): refactor the definitions of floating-point types and character types 2024-10-03 23:48:50 +08:00
a4ffd4153c fix(containers): fix TArrayView to disable non-const elements constructed directly from const TArray 2024-10-01 17:19:00 +08:00
0430465d92 fix(containers): fix TArrayView default initialization is not zero initialization 2024-09-29 20:53:19 +08:00
b134765d4b fix(containers): fix return value type issue for iterator convenience functions 2024-09-29 12:13:31 +08:00
6c9beec4be refactor(string): use end sentinel instead of buffer size to simplify implementation and usage 2024-09-28 21:07:06 +08:00
d52f0c4df8 fix(string): fix a potential error in the TCString due to short-circuit evaluation 2024-09-24 15:07:57 +08:00
790b7fd5e6 feat(miscellaneous): add support for c-style variadic functions and the corresponding testing 2024-09-21 22:03:39 +08:00
00838c2e35 perf(string): add NODISCARD tag to some functions 2024-09-21 15:54:01 +08:00
d137170ccb feat(string): add null-terminated byte string handling functions and the corresponding testing 2024-09-20 22:53:15 +08:00
5210db43b3 feat(string): add single character utility and the corresponding testing 2024-09-17 18:06:02 +08:00
1f20b1af70 fix(memory): use NAMESPACE_STD instead of the std namespace. 2024-09-17 17:26:40 +08:00
977df63d24 feat(containers): add TList and the corresponding testing 2023-04-02 23:10:50 +08:00
f644372642 fix(containers): fix operator== and operator<=> of TArray etc 2023-04-01 19:31:28 +08:00
389a72444b fix(memory): add CDestructible to CAllocatableObject 2023-04-01 19:27:42 +08:00
19dc46364a refactor(*): use CAllocatableObject instead of CElementalObject 2023-03-22 22:25:12 +08:00
ff155e23de feat(memory): add CMultipleAllocator for non-contiguous containers 2023-03-22 20:41:32 +08:00
3d951a80db fix(containers): fix assertion when TBitset cannot be represented by uint64 2023-03-17 19:26:57 +08:00
5b7a90cd0b fix(containers): fix operator&= operator|= and operator^= of TBitset 2023-03-17 19:09:48 +08:00
1b33d3b166 feat(containers): add TStaticBitset and the corresponding testing 2023-03-15 23:10:48 +08:00
5021171324 fix(containers): remove operator<=> of TBitset because its order is not defined 2023-03-15 19:22:04 +08:00
1daf90adee fix(containers): fix operator<=> of TArray and TStaticArray to compare lexicographically 2023-03-13 21:53:47 +08:00
dd8b698bb3 feat(containers): enable TBitset to support custom block type 2023-03-13 19:23:44 +08:00
432b6e0a6b feat(containers): add TBitset and the corresponding testing 2023-03-12 23:18:04 +08:00
9045f9b3b2 refactor(*): fix EBO issues and remove NAMESPACE_PRIVATE about containers 2023-03-04 19:19:27 +08:00
5c91059203 refactor(memory): add allocator EBO helper macro and use it for TInlineAllocator 2023-03-02 23:02:58 +08:00
7a8a1648d1 feat(containers): add TArray::Reference and TArray::ConstReference etc 2023-03-01 23:07:29 +08:00
a15ff69809 refactor(memory): remove FDefaultAllocator and directly specify a specific 2023-02-27 23:29:34 +08:00
40d27eece6 refactor(containers): add the CElementalObject concept to constrain elements 2023-02-26 22:13:45 +08:00
c8650b4aa5 feat(containers): add TArrayView and use TObserverPtr instead of raw pointer 2023-02-26 21:55:36 +08:00
343ff8d240 refactor(templates): refactor the return value of GetData() to TObserverPtr 2023-02-26 19:01:32 +08:00
e9f780622f feat(containers): add TStaticArray and operations support 2023-02-24 19:09:22 +08:00
9debe74b32 refactor(*): remove constexpr for containers and allocators 2023-02-22 23:37:51 +08:00
e8c9f9cc23 feat(memory): add TInlineAllocator and the corresponding testing 2023-02-22 23:33:10 +08:00
bc3cc3d2cc feat(containers): add helper functions like MakeReverseIterator() etc 2023-02-21 23:22:28 +08:00
02cdce39e2 feat(templates): add MakeAny() and fix MakeOptional() 2023-02-20 18:53:59 +08:00
56cc0a4d69 feat(containers): modify the constructor of iterator adapters to be perfect forwarding 2023-02-19 23:28:54 +08:00
4cec973485 feat(containers): add converting move constructor for iterator adaptors 2023-02-19 21:07:03 +08:00
5e64450bce feat(containers): add TFunctionalOutputIterator and operations support 2023-02-19 19:00:57 +08:00