Commit Graph
100 Commits
Author SHA1 Message Date
Redstone1024 db855d27a1 style(ranges): clarify the semantic requirements of CRange and CSizedRange 2024-12-22 11:11:56 +08:00
Redstone1024 04bb4be901 feat(algorithms): add more iterator algorithm and the corresponding testing 2024-12-21 21:35:59 +08:00
Redstone1024 a68a6d16b6 refactor(numerics): refactor the numerics implementation folder to plural form 2024-12-21 21:21:59 +08:00
Redstone1024 a92422e8b2 refactor(*): refactor the tool library's namespace to plural form 2024-12-20 18:09:27 +08:00
Redstone1024 343007ffd6 feat(algorithms): add basic iterator algorithm and the corresponding testing 2024-12-20 17:35:31 +08:00
Redstone1024 8c228fbf52 refactor(*): refactor the tool library's parent folder to plural form 2024-12-20 17:31:52 +08:00
Redstone1024 a14fbd90db test(range): add test for range library 2024-12-20 15:35:44 +08:00
Redstone1024 1e6beb83f2 refactor(testing): refactor test code and file to reduce the name collisions 2024-12-19 22:02:13 +08:00
Redstone1024 7fb116c577 fix(*): fix ambiguity in NAMESPACE_PRIVATE when expanding macros 2024-12-19 21:53:04 +08:00
Redstone1024 566052c8c2 fix(iterator): fix some iterator adapter implementation bugs 2024-12-19 20:48:21 +08:00
Redstone1024 a0250ebaf8 test(iterator): add test for iterator library 2024-12-19 20:47:44 +08:00
Redstone1024 f88cf7ef3e feat(range): add TTakeWhileView adapter 2024-12-19 14:35:45 +08:00
Redstone1024 e6d525f2c3 feat(range): add simple view concept and refactor related requires 2024-12-19 12:04:22 +08:00
Redstone1024 dd3a366c14 fix(*): fix some iterator adapter implementation bugs 2024-12-19 11:49:13 +08:00
Redstone1024 85199119b3 fix(range): fix GetBase() of sentinel adapters such as TFilterView's 2024-12-18 21:45:25 +08:00
Redstone1024 78d4955e03 fix(iterator): fix TCountedIterator not initializing Length 2024-12-18 21:42:10 +08:00
Redstone1024 8f36410346 feat(range): add TTakeView adapter 2024-12-18 21:29:44 +08:00
Redstone1024 87e48e5ca1 style(*): fix some comments and static_assert errors 2024-12-18 21:21:10 +08:00
Redstone1024 93b3a17f06 fix(range): fix implementation of IBasicViewInterface 2024-12-18 21:20:11 +08:00
Redstone1024 6ea768781d style(range): fix comment noun error 2024-12-18 17:38:05 +08:00
Redstone1024 dff6050a3b feat(range): add TMoveView adapter 2024-12-18 17:13:11 +08:00
Redstone1024 ae964ebd0a refactor(*): refactor files that depend on iterator and range with minimal #include 2024-12-18 16:58:43 +08:00
Redstone1024 8be89d0bbc refactor(containers): refactor TArray's constructors and member functions 2024-12-18 12:14:59 +08:00
Redstone1024 80238de712 refactor(containers): disable container element types with cv-qualifiers 2024-12-18 11:31:44 +08:00
Redstone1024 f54386d102 fix(templates): fix recursive #include due to native array swap function 2024-12-17 22:14:00 +08:00
Redstone1024 6a37e91639 refactor(*): replace the old with the new iterator and range library 2024-12-17 21:49:37 +08:00
Redstone1024 0a37460f24 fix(range): fix range adapter closure behavior 2024-12-17 16:58:23 +08:00
Redstone1024 aa8cd7ed33 feat(range): add range conversion function 2024-12-17 16:05:59 +08:00
Redstone1024 4845520225 fix(range): fix missing explicit namespace qualification of Range::All() 2024-12-17 15:53:14 +08:00
Redstone1024 68f0d19cac fix(*): fix the implementation of iterator functions such as operator++(int) 2024-12-17 15:51:35 +08:00
Redstone1024 50b1d2bb29 fix(*): fix missing constexpr in some if constexpr 2024-12-17 15:49:46 +08:00
Redstone1024 00be872d5c fix(range): fix DeclVal() usage in range library 2024-12-17 14:46:03 +08:00
Redstone1024 312cfe4097 refactor(*): make type alias identifiers conform to the style for general type identifiers 2024-12-16 19:34:47 +08:00
Redstone1024 d2b6e0c669 feat(range): add range pipe operator support 2024-12-16 15:09:57 +08:00
Redstone1024 d88eb4be5e refactor(range): split the remaining range library into multiple files 2024-12-15 22:04:47 +08:00
Redstone1024 dca4eaa6eb fix(range): fix related tool identifiers for common range 2024-12-15 16:20:04 +08:00
Redstone1024 8eab5e6538 fix(iterator): fix requires on some iterator adapter member functions 2024-12-15 16:19:45 +08:00
Redstone1024 589347118b refactor(range): split range factories part of the range library into multiple files 2024-12-15 11:55:02 +08:00
Redstone1024 a3e0aa01cf refactor(range): split basic view part of the range library into multiple files 2024-12-15 11:24:30 +08:00
Redstone1024 a3509295ff refactor(range): add range example class and split part of the range library into multiple files 2024-12-14 20:12:53 +08:00
Redstone1024 cd7adbfd46 refactor(iterator): split iterator library into multiple files 2024-12-14 16:20:26 +08:00
Redstone1024 a55f03fea0 fix(iterator): fix behavior when TIteratorElement or TIteratorPointer is invalid 2024-12-14 16:09:35 +08:00
Redstone1024 c73fc7620d fix(iterator): fix CReferenceable being mistakenly written as CReference 2024-12-14 14:12:07 +08:00
Redstone1024 5cfde63dd4 style(iterator): organize comments to make them more human readable 2024-12-14 14:02:26 +08:00
Redstone1024 24dd4347d1 refactor(iterator): add iterator example class and split iterator library into multiple files 2024-12-13 19:08:05 +08:00
Redstone1024 ea625bb916 feat(miscellaneous): add TRangeView, TRefView, TOwningView, TFilterView and TTransformView 2024-12-10 20:55:29 +08:00
Redstone1024 28367fe633 fix(miscellaneous): fix some iterator concepts and requires 2024-12-10 20:53:35 +08:00
Redstone1024 d9f05d4241 feat(miscellaneous): add basic range factories 2024-12-09 19:20:10 +08:00
Redstone1024 5131fd6eae fix(miscellaneous): fix requires for FUnreachableSentinel::operator== 2024-12-09 19:16:28 +08:00
Redstone1024 ba9d35c1ff feat(miscellaneous): add TViewInterface with basic view and other range tools 2024-12-08 20:44:48 +08:00
Redstone1024 8113d3b39b feat(miscellaneous): add IndirectlySwap family functions for iterators 2024-12-08 20:40:52 +08:00
Redstone1024 89dc5b715e fix(miscellaneous): fix iterator for only movable base object 2024-12-08 20:38:33 +08:00
Redstone1024 e3e127752e feat(miscellaneous): add basic range concepts and helper functions 2024-12-05 21:21:15 +08:00
Redstone1024 8d02b0e0a9 refactor(miscellaneous): fix iterator concepts and helper function return value types 2024-12-05 21:19:55 +08:00
Redstone1024 7525c9a5dd refactor(*): move container and iterator tools to miscellaneous 2024-12-05 16:38:49 +08:00
Redstone1024 9d901df68a feat(numeric): add basic random number generator function 2024-12-04 22:05:50 +08:00
Redstone1024 2d06667c40 fix(numeric): fix missing header file in Numeric/Bit.h 2024-12-04 21:55:02 +08:00
Redstone1024 fa29c4a063 fix(numeric): add disambiguation macro for Math::DivAndRound family functions 2024-12-04 17:49:01 +08:00
Redstone1024 66cfbfa3b3 fix(maiscellaneous): fix the definition of the uint_fast family 2024-12-04 16:05:44 +08:00
Redstone1024 d0287dd5e8 style(numeric): add and correct some comments 2024-12-04 15:54:35 +08:00
Redstone1024 123800bbbd test(string): using self numeric instead of standard library functions 2024-12-04 11:50:46 +08:00
Redstone1024 3dc20f25cf fix(numeric): fix floating point classification function return value type 2024-12-04 11:41:32 +08:00
Redstone1024 c96995ea92 feat(numeric): add remaining standard math functions and the corresponding testing 2024-12-03 21:24:34 +08:00
Redstone1024 bd68754903 feat(numeric): add basic, exponential, power and nearest integer math functions 2024-12-02 19:22:31 +08:00
Redstone1024 f5c47fe677 feat(numeric): add basic and floating point manipulation functions and the corresponding testing 2024-11-27 19:03:54 +08:00
Redstone1024 84a41387ae feat(numeric): add fixed-width literals, bit math functions and the corresponding testing 2024-11-27 16:58:39 +08:00
Redstone1024 edc6c1924a fix(miscellaneous): fix unreachable indicator function will return 2024-11-27 16:55:37 +08:00
Redstone1024 5a5d34e908 refactor(numeric): rename numeric tool library 2024-11-26 12:04:53 +08:00
Redstone1024 f60bd0e3e4 feat(numerics): add the mathematical constant tool 2024-11-24 22:39:45 +08:00
Redstone1024 987299f9b5 feat(numerics): add TNumericLimits tool 2024-11-24 21:48:09 +08:00
Redstone1024 bcc39fdf55 refactor(miscellaneous): clarify which fundamental types are used where 2024-11-24 20:09:31 +08:00
Redstone1024 54c795b9a2 feat(miscellaneous): add static assumptions about integral types 2024-11-24 13:14:51 +08:00
Redstone1024 1c01ce5bb6 refactor(miscellaneous): refactor platform arithmetic type support 2024-11-21 22:02:39 +08:00
Redstone1024 a952c31546 chore(*): add PLATFORM_COMPILER_* macros and other tools 2024-11-21 10:23:17 +08:00
Redstone1024 7107fc6b8a feat(miscellaneous): add int128, int_least family, int_fast family and intmax type 2024-11-20 18:08:33 +08:00
Redstone1024 2d4dedd876 feat(string): add fundamental type parsing with format string but not elegant enough 2024-11-19 20:35:59 +08:00
Redstone1024 edda2b83a1 feat(string): add TStringView to standard C string conversion 2024-11-19 12:04:17 +08:00
Redstone1024 19a37ea072 feat(string): add CTStringView and CTString concepts 2024-11-19 11:46:50 +08:00
Redstone1024 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
Redstone1024 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
Redstone1024 1c0c93ee25 refactor(string): refactor string conversion but not fully tested 2024-11-13 22:41:44 +08:00
Redstone1024 646d0cb7a4 fix(string): fix string trimming function's return value 2024-11-13 12:53:27 +08:00
Redstone1024 3859070d53 feat(string): add string trimming functions 2024-11-12 17:21:36 +08:00
Redstone1024 bc93455d0e refactor(string): refactor character and digit conversion to be non-invalidable 2024-11-12 13:32:43 +08:00
Redstone1024 fe60fc33e0 feat(string): add string and arithmetic conversion functions 2024-11-11 22:30:15 +08:00
Redstone1024 49feb0b12b perf(string): add assertions to character functions that depend on ASCII compatibilitya 2024-11-11 12:33:00 +08:00
Redstone1024 f8ef1da107 refactor(string): add base-checking to conversions between characters and digits 2024-11-11 12:20:29 +08:00
Redstone1024 09bbcecc28 feat(string): add functions to categorize strings 2024-11-10 19:24:40 +08:00
Redstone1024 7a80a80a12 fix(string): fix incorrect TChar results due to signed char 2024-11-10 19:21:49 +08:00
Redstone1024 90c2a37a2c feat(string): add TChar::IsASCII to determine if it is an ASCII character 2024-11-10 18:45:15 +08:00
Redstone1024 43c59399d1 feat(string): add formatting without format string of arithmetic types to strings 2024-11-08 22:12:24 +08:00
Redstone1024 0bb036eec7 refactor(string): change the placeholder escape for format string to <[{ }]> avoiding surprises 2024-11-08 22:10:22 +08:00
Redstone1024 d8803880f1 feat(string): add parsing of arithmetic types from strings 2024-11-08 20:46:57 +08:00
Redstone1024 211a30525e feat(string): add string parsing and formatting functions 2024-11-08 20:38:19 +08:00
Redstone1024 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
Redstone1024 e19fc56d35 feat(templates): add Num function to TTuple 2024-11-08 11:40:13 +08:00
Redstone1024 05af651232 feat(templates): add visit element by runtime index functions to TTuple 2024-11-05 23:02:34 +08:00
Redstone1024 258aabbde0 fix(typetraits): fix CCommonType is incorrect for void 2024-11-05 22:41:45 +08:00
Redstone1024 2a4d65c60e fix(string): fix TStringView's member function incorrectly return TArrayView 2024-11-03 21:22:01 +08:00
Redstone1024 64b468d612 feat(string): add macros such as TEXT_VIEW to create string view text literals 2024-11-03 15:56:38 +08:00