Christian Mazakas
9945ce7583
Implement heterogeneous find()
for multimap
2021-12-17 09:53:16 -08:00
LeonineKing1199
13cd5aa4ce
Implement initial draft of heterogeneous extract()
2021-12-06 13:06:05 -08:00
LeonineKing1199
e4d0693eb9
Fix erroneous placement of heterogeneous erase()
from multimap
to map
2021-12-03 10:08:30 -08:00
LeonineKing1199
8b438dea76
Use erase_key_unique_impl()
directly so that eventually erase_unique()
can be deprecated
2021-12-03 08:48:20 -08:00
LeonineKing1199
33f84624ec
Add initial draft of heterogeneous erase()
2021-12-02 15:59:12 -08:00
LeonineKing1199
13f40e4333
Implement heterogeneous equal_range()
for unordered_map
2021-12-01 09:39:07 -08:00
LeonineKing1199
8f1fc75fdf
Implement heterogeneous find()
2021-11-29 14:37:04 -08:00
LeonineKing1199
fd0cab2ab8
Remove out-of-line defintion for transparent count()
to hopefully appease msvc-9.0
2021-11-22 15:43:28 -08:00
LeonineKing1199
8ba710637a
Remove detail::make_dependent
in favor of an extra template parameter in is_transparetn
2021-11-22 13:29:41 -08:00
LeonineKing1199
59db6cf788
Add SFINAE to transparent count()
overload in unordered_map
2021-11-22 11:16:04 -08:00
LeonineKing1199
f41b3e8295
Get initial prototype of transparent count()
working
2021-11-19 15:29:57 -08:00
LeonineKing1199
7ccd62ba98
Update SFINAE expressions to be in the return type instead of a defaulted function parameter
2021-11-18 12:54:17 -08:00
Edward Diener
887f1dc07c
Change __BORLANDC__ to BOOST_BORLANDC and __CODEGEARC__ to BOOST_CODEGEARC, which are3defined in Boost config for the Embarcadero non-clang-based compilers.
2020-03-31 22:47:48 -04:00
Daniel James
09be9bae04
Use boost::is_nothrow_swappable, now that it's available everywhere
2018-01-27 09:38:19 +00:00
Daniel James
ea599a66b7
Disable 'conditional expression is constant' on older Visual C++
2018-01-23 15:40:58 +00:00
Daniel James
dea525b2b7
Suppress msvc waring "conditional expression is constant"
2018-01-10 11:35:22 +00:00
Daniel James
f12009fc61
operator= noexcept support
2018-01-05 17:54:44 +00:00
Daniel James
5854090dc7
Swap noexcept support
...
Not properly supported as we don't have is_nothrow_swappable yet.
2018-01-05 17:48:13 +00:00
Daniel James
7615fabc80
Rewrite node handles using a lightweight limited optional
...
Will try to use std::optional when available. Also using
allocator_traits::is_always_equal support.
2018-01-03 23:15:55 +00:00
Daniel James
b50e0d610f
Initial implementation of template deduction guides
2017-12-19 12:56:51 +00:00
Daniel James
978944fab2
Use same code for move constructing all containers
...
Copies the data layout from the source, so it doesn't need to hash anything.
2017-10-05 10:56:02 +01:00
Daniel James
6b5b968b97
Format with clang-format 4.0
2017-10-05 10:54:22 +01:00
Daniel James
f72b0353d4
Shuffle code around for readability
...
The new indentation made some of the code difficult to read, especially
where macros were concerned, so move things around and add more explicit
namespace declarations.
2017-06-11 20:55:59 +01:00
Daniel James
0676b4f4ca
Change clang format indentation + .editorconfig file
2017-06-11 20:55:59 +01:00
Daniel James
5b97fbc292
Make insert from node_handle move only on old GCC
2017-05-19 09:42:56 +01:00
Daniel James
e0227618bb
Move a few things around to match the order in the standard
2017-05-17 16:47:57 +01:00
Daniel James
ee9a5a2c77
Add a configuration macro for Sun C++ workarounds
2017-05-16 19:01:50 +01:00
Daniel James
b6c6bfbe7f
Statically handle 'is_unique' in assignments
2017-05-06 04:58:57 +01:00
Daniel James
6e074d7165
Get rid of delete_nodes
2017-05-06 04:58:57 +01:00
Daniel James
77bd45b1fa
Make second parameter of delete_nodes a node_pointer
2017-05-04 00:14:05 +01:00
Daniel James
2e14c340a8
Reformat
2017-05-01 21:03:11 +01:00
Daniel James
7b5f73f6c2
Disable all sunpro workarounds on latest version
...
I have no idea if they're still working. I wasn't able to run the latest
solaris in a virtual machine on my computer, so this is the only way to
test.
2017-04-30 10:44:54 +01:00
Daniel James
bfcdd51b4a
Fix try_emplace overload
2017-04-28 09:53:50 +01:00
Daniel James
6466ce0b51
Make table the same for unique and equivalent keys
2017-04-27 18:22:44 +01:00
Daniel James
03baef8b28
Remove Types::is_unique
2017-04-27 18:22:44 +01:00
Daniel James
e9c4696544
Get rid of node_algo
2017-04-27 18:22:43 +01:00
Daniel James
ea64f2e46e
Remove the grouped node stuff
2017-04-27 18:22:43 +01:00
Daniel James
da27ae4de6
Group together similar overloads of try_emplace
2017-04-25 20:20:11 +01:00
Daniel James
ed326e2c87
Expand out more preprocessor repeats
2017-04-25 20:20:11 +01:00
Daniel James
07b9a7d60e
Fix incorrect try_emplace call
2017-04-25 01:39:30 +01:00
Daniel James
b070bb5e49
Move everything from table_unique/table_equiv into table
2017-04-24 09:46:05 +01:00
Daniel James
e518120104
Rename some copy/assign/move methods
...
But with a hack so that the static casts will work until there's a
better method.
2017-04-24 09:46:05 +01:00
Daniel James
84f1ef6d2d
Move constructor implementation into containers
2017-04-24 09:46:05 +01:00
Daniel James
77bf2b5e33
Rename methods to be different for unique/equiv keys
...
So that the implementation can be moved into a single class. Still some
other methods to rename. Some methods didn't need to be renamed (e.g.
try_emplace is only used with unique keys), but still renamed for
consistency.
2017-04-24 09:46:05 +01:00
Daniel James
7941771d61
Expand calls to at implementation
2017-04-23 10:09:18 +01:00
Daniel James
13ff1e7fb1
Expand calls to count and equal_range implementation
2017-04-23 10:09:18 +01:00
Daniel James
25b0b66e52
Expand calls to erase implementation
...
Doesn't work as well as the previous changes.
2017-04-23 10:09:18 +01:00
Daniel James
da835e88b8
Expand calls to insert_range
2017-04-23 10:09:18 +01:00
Daniel James
b6c229e2bb
Expand calls to reserve implementation
2017-04-23 10:09:18 +01:00
Daniel James
19a45e028a
Expand calls to generic_find_node
2017-04-23 10:09:18 +01:00