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
e4d0693eb9
Fix erroneous placement of heterogeneous erase()
from multimap
to map
2021-12-03 10:08:30 -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
8b438dea76
Use erase_key_unique_impl()
directly so that eventually erase_unique()
can be deprecated
2021-12-03 08:48:20 -08:00
LeonineKing1199
12977a50bc
Add hopefully helpful comment to the source
2021-12-03 08:41:42 -08:00
LeonineKing1199
33f84624ec
Add initial draft of heterogeneous erase()
2021-12-02 15:59:12 -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
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
Peter Dimov
5e8b6a9e55
Add comment describing the origin of mix64_policy::apply_hash
2021-11-29 06:14:20 +02: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
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
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
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
ea599a66b7
Disable 'conditional expression is constant' on older Visual C++
2018-01-23 15:40:58 +00:00
Daniel James
f3476de893
Some explicit casts to avoid warnings on old GCC
2018-01-10 11:35:42 +00:00
Daniel James
dea525b2b7
Suppress msvc waring "conditional expression is constant"
2018-01-10 11:35:22 +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