Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
101 commits
Select commit Hold shift + click to select a range
126dbbf
Prepare for new header
duanqn Jul 14, 2023
0f968f0
Add empty header
duanqn Jul 14, 2023
bc4bc8a
More preparation work
duanqn Jul 14, 2023
03051cd
Add test structure
duanqn Jul 17, 2023
64a528d
Define types for flat_map
duanqn Jul 17, 2023
4974152
Use split storage
duanqn Jul 17, 2023
b408027
Add partial implementation
duanqn Jul 18, 2023
e19d346
Finish all constructors (except copy / move constructors). Set up sim…
duanqn Jul 20, 2023
e97f528
Continue implementing iterator
duanqn Jul 20, 2023
ab27b1e
Finish iterator
duanqn Jul 21, 2023
54625c6
clang-format
duanqn Jul 21, 2023
4db32dd
Fix: return type of <=> should not be bool
duanqn Jul 21, 2023
8d704c7
Overload operator - as a member function
duanqn Jul 21, 2023
e908023
Use traditional header guards
duanqn Jul 21, 2023
33d79c2
Add common header stuff
duanqn Jul 21, 2023
64228a0
Add capacity functions
duanqn Jul 21, 2023
6f360d4
Add function signatures for elemental access
duanqn Jul 21, 2023
1414cf9
Improve iterator implementation
duanqn Jul 24, 2023
90668a5
Implement operator=(std::initializer_list<value_type>)
duanqn Jul 24, 2023
44dd88a
Implement iterator functions and fix compile errors
duanqn Jul 24, 2023
ea0f6d6
Take review comments
duanqn Jul 24, 2023
6c0b439
Take review comments
duanqn Jul 24, 2023
1996c46
Take review comments
duanqn Jul 24, 2023
4a303d8
Add _NODISCARD
duanqn Jul 24, 2023
e203f63
Move __cpp_lib_flat_map definition
duanqn Jul 24, 2023
db09e1f
Use ranges syntax
duanqn Jul 24, 2023
2a72290
Adjust iterator category and iterator concept
duanqn Jul 25, 2023
9b7ae5a
Fix type names for injected-class-name
duanqn Jul 25, 2023
029b8d3
Refine iterator
duanqn Jul 25, 2023
7643245
Add a few _STD
duanqn Jul 25, 2023
fe27493
Fix citation
duanqn Jul 25, 2023
ba631de
Start implementing modifiers
duanqn Jul 25, 2023
d5f6e69
Revert "Fix citation"
duanqn Jul 26, 2023
7914ffe
Fix citation
duanqn Jul 26, 2023
4055f00
Add one signature of insert
duanqn Jul 26, 2023
2ae7ac2
Implement emplace_hint
duanqn Aug 8, 2023
ee6fc3a
Fix name of emplace_hint; Add another insert interface; Remove _Key_e…
duanqn Aug 8, 2023
03737d2
Relax constraint to implement another interface of insert(); Fix lambda
duanqn Aug 8, 2023
f04fc5a
Add _STD
duanqn Aug 8, 2023
566d123
Remove usage of deducing this
duanqn Aug 8, 2023
86fdc41
Fix _Self
duanqn Aug 8, 2023
4b5e608
Remove std::input_iterator constraint
duanqn Aug 9, 2023
0bbfa5b
Add try_emplace
duanqn Aug 10, 2023
bc9fb2d
Refactor
duanqn Aug 10, 2023
c3fbe2d
Implement other signatures of try_emplate and implement operator []
duanqn Aug 10, 2023
2c1918b
Fix modifier functions for transparent comparators
duanqn Aug 23, 2023
6e32c45
Implement range insertion
duanqn Aug 23, 2023
7f28eeb
Implement range insertion
duanqn Aug 23, 2023
d62b609
Implement insert for initializer_list
duanqn Aug 23, 2023
578bfd0
Implement extract, replace and swap
duanqn Aug 23, 2023
d3842d7
Run clang-format
duanqn Aug 23, 2023
b0197bd
Take review comments about _Arrow_proxy
duanqn Aug 23, 2023
068394d
Implement insert_or_assign
duanqn Aug 24, 2023
769b7b2
Implement lower_bound for transparent comparators
duanqn Aug 24, 2023
3dc94d0
Implement find
duanqn Aug 25, 2023
5427279
Implement contains
duanqn Aug 25, 2023
07d9472
Implement upper_bound
duanqn Sep 4, 2023
47bbc29
Implement at and count
duanqn Sep 4, 2023
b61e8a0
Implement erase
duanqn Sep 4, 2023
611a5f1
Fix compile error
duanqn Sep 4, 2023
86262ca
Take review comments
duanqn Sep 6, 2023
91f6c94
Apply suggestions from code review
duanqn Sep 6, 2023
36b23ad
Auto style fix; Fix return type of try_emplace
duanqn Sep 6, 2023
a7d773e
Replace size_t with size_type
duanqn Sep 6, 2023
f5e1784
Auto deduce template arguments
duanqn Sep 6, 2023
9d4c521
Reorder template arguments and enable auto deducing
duanqn Sep 6, 2023
0f4f529
Implement equal_range
duanqn Sep 11, 2023
227d4ee
Avoid using moved values in try_emplace
duanqn Sep 11, 2023
3985226
Use piecewise_construct to construct value_type
duanqn Sep 11, 2023
d92fc50
Wording
duanqn Sep 19, 2023
0c11a49
Rewrite _Emplace_hint
duanqn Sep 19, 2023
2592b2b
Use hidden friend syntax
duanqn Sep 20, 2023
3cbbfde
Add == and <=>
duanqn Sep 25, 2023
45e2389
Add swap (non-member)
duanqn Sep 25, 2023
0a7f153
Remove unnecessary default functions
duanqn Sep 25, 2023
a69bd93
Add copy & move constructor; Also implement the allocator-extended ve…
duanqn Sep 25, 2023
5652d60
Add 4 more deduction guides
duanqn Sep 25, 2023
d0588ed
Fix operator <=>
duanqn Sep 26, 2023
cf28719
Remove unused _Maybe_const_iterator_t
duanqn Sep 27, 2023
a67b9f8
Add remaining template deduction guides and specialization of std::us…
duanqn Sep 27, 2023
a89a6ba
Fix compile errors in clang-cl
duanqn Sep 27, 2023
562b277
Fix SFINAE on clang; Add a simple test
duanqn Sep 27, 2023
49e8bb3
Add more tests. 1 of the configurations is failing.
duanqn Sep 27, 2023
f7ef6db
Use strict test matrix
duanqn Sep 28, 2023
f7512d6
Add more test cases on construction
duanqn Oct 8, 2023
8b7691d
Implement LWG-3786
duanqn Oct 8, 2023
fddf5f2
Add _HAS_CXX23 guard check
duanqn Oct 8, 2023
7284bac
Implement LWG-3803 and add tests accordingly
duanqn Oct 8, 2023
1f4feec
Improve tests
duanqn Oct 8, 2023
21459c7
Fix header test
duanqn Oct 8, 2023
1c08c84
Take review comments and change the signature of _Insert_exact
duanqn Oct 9, 2023
213b448
Use _Ugly style
duanqn Oct 9, 2023
49d5dd6
Use concept instead of enable_if_t
duanqn Oct 10, 2023
4e3dc8d
Use _Is_transparent_v from <xmemory> instead of inventing a new concept
duanqn Oct 10, 2023
4d0d81f
Add definition of sorted_equivalent_t
duanqn Oct 10, 2023
945ef18
Add definition of flat_multimap
duanqn Oct 10, 2023
aabc8ca
Add a test of incomplete type
duanqn Oct 10, 2023
858ff8a
Separate function overloads that take 'const key_type&' from 'const K…
duanqn Dec 15, 2023
adb810f
Merge branch 'main' into duanqn/flat_map
StephanTLavavej Jan 12, 2024
1f60399
clang-format, no manual changes.
StephanTLavavej Jan 12, 2024
279049d
Fix errors in test_header_units_and_modules.hpp.
StephanTLavavej Jan 12, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions stl/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -157,6 +157,7 @@ set(HEADERS
${CMAKE_CURRENT_LIST_DIR}/inc/experimental/unordered_set
${CMAKE_CURRENT_LIST_DIR}/inc/experimental/vector
${CMAKE_CURRENT_LIST_DIR}/inc/filesystem
${CMAKE_CURRENT_LIST_DIR}/inc/flat_map
${CMAKE_CURRENT_LIST_DIR}/inc/format
${CMAKE_CURRENT_LIST_DIR}/inc/forward_list
${CMAKE_CURRENT_LIST_DIR}/inc/fstream
Expand Down
1 change: 1 addition & 0 deletions stl/inc/__msvc_all_public_headers.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -92,6 +92,7 @@
#include <exception>
#include <expected>
#include <filesystem>
#include <flat_map>
#include <format>
#include <forward_list>
#include <fstream>
Expand Down
Loading