Christian Mazakas
1db53ba155
Update internal table to allocate on construction and when rehashing
2021-12-15 09:42:44 -08:00
LeonineKing1199
089d2db104
Remove traits detection mechanism
2021-12-08 14:04:04 -08:00
LeonineKing1199
fefb6ad4c4
Remove unnecessary expression test mechanisms
2021-12-08 13:59:11 -08:00
LeonineKing1199
05b795bc14
Remove unnecessary macro for determining which allocator_traits
implementation is being used
2021-12-08 10:06:01 -08:00
Peter Dimov
ff3f5067c8
Merge pull request #56 from LeonineKing1199/feature/allocator-traits
...
Replace internal implementation of `allocation_traits` with Core's
2021-12-08 01:23:02 +02:00
LeonineKing1199
5b8289c05a
Remove extraneous include of Boost.Container's allocator_traits
2021-12-07 10:49:39 -08:00
LeonineKing1199
a6b9fb285c
Replace internal implementation of allocation_traits
with Core's
2021-12-07 08:35:56 -08:00
LeonineKing1199
13cd5aa4ce
Implement initial draft of heterogeneous extract()
2021-12-06 13:06:05 -08:00
LeonineKing1199
4a42c93897
Fix erroneous usage of table::hash()
impl which implicitly copy-constructs the const_key_type
2021-12-03 10:07:57 -08:00
LeonineKing1199
12977a50bc
Add hopefully helpful comment to the source
2021-12-03 08:41:42 -08:00
LeonineKing1199
f252480bee
Add missing formatting
2021-12-02 15:44:02 -08:00
LeonineKing1199
c9df887c4c
Add member function template erase_key_unique_impl
for usage in heterogeneous lookups
2021-12-02 15:38:07 -08:00
LeonineKing1199
03edf7f4a8
Add member function template find_previous_node_impl
so it can be used in heterogenous contexts
2021-12-02 15:30:17 -08:00
Peter Dimov
5e8b6a9e55
Add comment describing the origin of mix64_policy::apply_hash
2021-11-29 06:14:20 +02: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
Peter Dimov
c8abaf32ee
Merge pull request #40 from LeonineKing1199/sfinae-updates
...
Update SFINAE expressions to be in the return type
2021-11-19 04:32:06 +02: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
LeonineKing1199
2d69c7a5ca
Add missing const-qualification of operator==
for internal optional
implementation
2021-11-18 10:19:20 -08:00
LeonineKing1199
a97160cf57
Fix bug in has_construct
by using std::declval
2021-08-29 12:13:56 -07:00
Daniel James
e10fc0f93b
Fix typo
2018-02-25 14:03:11 +00: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
c01a8c4629
Oops, it's boost::to_address, no boost::to_pointer
2018-01-26 20:25:09 +00:00
Daniel James
ddf302fcc2
Use boost::to_pointer
instead of pointer<..>::get
...
To get C++20 style recursive calls to `operator->`.
2018-01-26 18:59:16 +00:00
Daniel James
66533ace80
Add element_type
to nodes, so that pointer_traits will work
...
Might be better to change the template signature of iterators, but that would
be a disruptive change to make at the moment.
2018-01-26 17:43:06 +00:00
Daniel James
f3476de893
Some explicit casts to avoid warnings on old GCC
2018-01-10 11:35:42 +00:00
Daniel James
d55c9565ab
No template arguments in BOOST_MOVABLE_BUT_NOT_COPYABLE
...
Was causing errors on Visual C++ 7.1.
2018-01-10 09:58:08 +00:00
Daniel James
00a4185cf1
Reformat
2018-01-08 10:58:09 +00:00
Daniel James
ea28a3f98e
Fix conversion to bool warning
2018-01-08 10:57:28 +00:00
Daniel James
34e54b35e8
Manually handle assigning hash/equality functions
2018-01-06 12:53:37 +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
7e28fdd45a
Make the current function_pair public
2018-01-05 17:10: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
be0acc575f
Implement allocator_traits::is_always_equal
2018-01-03 20:55:40 +00:00
Daniel James
9d558b010d
Reformat
2017-12-28 11:44:57 +00:00
Daniela Engert
64441d2b64
Inheriting std::iterator is deprecated in c++17.
...
Therefore get rid of all of that and replace inheritance by lifting std::iterator's members into the derived class.
Signed-off-by: Daniela Engert <dani@ngrt.de >
2017-12-28 12:01:41 +01:00
Daniel James
92ce66be64
Rename 'bucket' variable to avoid shadow warning
2017-12-22 16:54:05 +00:00
Daniel James
15befe998e
Rename table::get_bucket to get_bucket_pointer
...
All the other '*_bucket' methods return a bucket index.
2017-12-22 16:44:43 +00:00
Daniel James
b50e0d610f
Initial implementation of template deduction guides
2017-12-19 12:56:51 +00:00
Daniel James
f99dee1917
Use predef for detecting piecewise construction
...
And detect it for recent dinkumware.
2017-12-19 12:11:36 +00:00
Daniel James
311e126ac4
Remove dependency on iterator
2017-12-03 18:58:52 +00:00
Daniel James
c037169e1a
Update paths for headers moved from detail
2017-12-03 14:24:47 +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
705e69aefd
Always call set_first_in_group
...
Probably don't need to, as we're using 0 for the first element in a group, but
it's quick so might as well.
2017-10-05 10:54:23 +01:00
Daniel James
e58081f6dc
Drop some TODOs that are okay
2017-10-05 10:54:22 +01:00
Daniel James
4ac8a45a34
The max_load issue was fixed in the standard ages ago
2017-10-05 10:54:22 +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