Block a user
bf22397123
feat(algorithms): add search algorithm and the corresponding testing
2de1068ad8
fix(templates): fix Ref() call ambiguity
aa572542e2
fix(algorithms): fix requires for Algorithms::Distance()
db855d27a1
style(ranges): clarify the semantic requirements of CRange and CSizedRange
04bb4be901
feat(algorithms): add more iterator algorithm and the corresponding testing
a68a6d16b6
refactor(numerics): refactor the numerics implementation folder to plural form
a92422e8b2
refactor(*): refactor the tool library's namespace to plural form
343007ffd6
feat(algorithms): add basic iterator algorithm and the corresponding testing
8c228fbf52
refactor(*): refactor the tool library's parent folder to plural form
a14fbd90db
test(range): add test for range library
1e6beb83f2
refactor(testing): refactor test code and file to reduce the name collisions
7fb116c577
fix(*): fix ambiguity in NAMESPACE_PRIVATE when expanding macros
566052c8c2
fix(iterator): fix some iterator adapter implementation bugs
a0250ebaf8
test(iterator): add test for iterator library
f88cf7ef3e
feat(range): add TTakeWhileView adapter
e6d525f2c3
feat(range): add simple view concept and refactor related requires
dd3a366c14
fix(*): fix some iterator adapter implementation bugs
85199119b3
fix(range): fix GetBase() of sentinel adapters such as TFilterView's
78d4955e03
fix(iterator): fix TCountedIterator not initializing Length
8f36410346
feat(range): add TTakeView adapter
87e48e5ca1
style(*): fix some comments and static_assert errors
93b3a17f06
fix(range): fix implementation of IBasicViewInterface
f54386d102
fix(templates): fix recursive #include due to native array swap function
6a37e91639
refactor(*): replace the old with the new iterator and range library
0a37460f24
fix(range): fix range adapter closure behavior
aa8cd7ed33
feat(range): add range conversion function
4845520225
fix(range): fix missing explicit namespace qualification of Range::All()
68f0d19cac
fix(*): fix the implementation of iterator functions such as operator++(int)
50b1d2bb29
fix(*): fix missing constexpr in some if constexpr
00be872d5c
fix(range): fix DeclVal() usage in range library
312cfe4097
refactor(*): make type alias identifiers conform to the style for general type identifiers
d2b6e0c669
feat(range): add range pipe operator support
d88eb4be5e
refactor(range): split the remaining range library into multiple files
dca4eaa6eb
fix(range): fix related tool identifiers for common range
8eab5e6538
fix(iterator): fix requires on some iterator adapter member functions
589347118b
refactor(range): split range factories part of the range library into multiple files
a3e0aa01cf
refactor(range): split basic view part of the range library into multiple files
a3509295ff
refactor(range): add range example class and split part of the range library into multiple files
cd7adbfd46
refactor(iterator): split iterator library into multiple files
a55f03fea0
fix(iterator): fix behavior when TIteratorElement or TIteratorPointer is invalid
c73fc7620d
fix(iterator): fix CReferenceable being mistakenly written as CReference
5cfde63dd4
style(iterator): organize comments to make them more human readable
ea625bb916
feat(miscellaneous): add TRangeView, TRefView, TOwningView, TFilterView and TTransformView
28367fe633
fix(miscellaneous): fix some iterator concepts and requires
d9f05d4241
feat(miscellaneous): add basic range factories
5131fd6eae
fix(miscellaneous): fix requires for FUnreachableSentinel::operator==
ba9d35c1ff
feat(miscellaneous): add TViewInterface with basic view and other range tools
8113d3b39b
feat(miscellaneous): add IndirectlySwap family functions for iterators
89dc5b715e
fix(miscellaneous): fix iterator for only movable base object
e3e127752e
feat(miscellaneous): add basic range concepts and helper functions
8d02b0e0a9
refactor(miscellaneous): fix iterator concepts and helper function return value types
9d901df68a
feat(numeric): add basic random number generator function
2d06667c40
fix(numeric): fix missing header file in Numeric/Bit.h
fa29c4a063
fix(numeric): add disambiguation macro for Math::DivAndRound family functions
66cfbfa3b3
fix(maiscellaneous): fix the definition of the uint_fast family
d0287dd5e8
style(numeric): add and correct some comments
f5c47fe677
feat(numeric): add basic and floating point manipulation functions and the corresponding testing
84a41387ae
feat(numeric): add fixed-width literals, bit math functions and the corresponding testing
edc6c1924a
fix(miscellaneous): fix unreachable indicator function will return
5a5d34e908
refactor(numeric): rename numeric tool library
f60bd0e3e4
feat(numerics): add the mathematical constant tool
987299f9b5
feat(numerics): add TNumericLimits tool
bcc39fdf55
refactor(miscellaneous): clarify which fundamental types are used where
54c795b9a2
feat(miscellaneous): add static assumptions about integral types
1c01ce5bb6
refactor(miscellaneous): refactor platform arithmetic type support
a952c31546
chore(*): add PLATFORM_COMPILER_* macros and other tools
7107fc6b8a
feat(miscellaneous): add int128, int_least family, int_fast family and intmax type