forked from boostorg/container
* Clean up constructor template auto deduction guides to use Boost.Container traits
* GitHub #73: '"triviality of pair". * Fixed race condition bug in unsynchronized_pool_resource
This commit is contained in:
1 parent
69d42ef636
commit
9a22431578
16 files changed
+532
-109
No files matched your search
@@ -1546,22 +1546,57 @@ class flat_map
|
||||
};
|
||||
|
||||
#if __cplusplus >= 201703L
|
||||
|
||||
template <typename InputIterator>
|
||||
flat_map(InputIterator, InputIterator) -> flat_map<std::remove_const_t<typename std::iterator_traits<InputIterator>::value_type::first_type>, typename std::iterator_traits<InputIterator>::value_type::second_type>;
|
||||
flat_map(InputIterator, InputIterator) ->
|
||||
flat_map< typename dtl::remove_const< typename iterator_traits<InputIterator>::value_type::first_type>::type
|
||||
, typename iterator_traits<InputIterator>::value_type::second_type>;
|
||||
|
||||
template <typename InputIterator, typename Allocator>
|
||||
flat_map(InputIterator, InputIterator, Allocator const&) -> flat_map<std::remove_const_t<typename std::iterator_traits<InputIterator>::value_type::first_type>, typename std::iterator_traits<InputIterator>::value_type::second_type, std::less<std::remove_const_t<typename std::iterator_traits<InputIterator>::value_type::first_type>>, Allocator>;
|
||||
flat_map(InputIterator, InputIterator, Allocator const&) ->
|
||||
flat_map< typename dtl::remove_const< typename iterator_traits<InputIterator>::value_type::first_type>::type
|
||||
, typename iterator_traits<InputIterator>::value_type::second_type
|
||||
, std::less<typename dtl::remove_const<typename iterator_traits<InputIterator>::value_type::first_type>::type>
|
||||
, Allocator>;
|
||||
|
||||
template <typename InputIterator, typename Compare>
|
||||
flat_map(InputIterator, InputIterator, Compare const&) -> flat_map<std::remove_const_t<typename std::iterator_traits<InputIterator>::value_type::first_type>, typename std::iterator_traits<InputIterator>::value_type::second_type, Compare>;
|
||||
flat_map(InputIterator, InputIterator, Compare const&) ->
|
||||
flat_map< typename dtl::remove_const<typename iterator_traits<InputIterator>::value_type::first_type>::type
|
||||
, typename iterator_traits<InputIterator>::value_type::second_type
|
||||
, Compare>;
|
||||
|
||||
template <typename InputIterator, typename Compare, typename Allocator>
|
||||
flat_map(InputIterator, InputIterator, Compare const&, Allocator const&) -> flat_map<std::remove_const_t<typename std::iterator_traits<InputIterator>::value_type::first_type>, typename std::iterator_traits<InputIterator>::value_type::second_type, Compare, Allocator>;
|
||||
flat_map(InputIterator, InputIterator, Compare const&, Allocator const&) ->
|
||||
flat_map< typename dtl::remove_const<typename iterator_traits<InputIterator>::value_type::first_type>::type
|
||||
, typename iterator_traits<InputIterator>::value_type::second_type
|
||||
, Compare
|
||||
, Allocator>;
|
||||
|
||||
template <typename InputIterator>
|
||||
flat_map(ordered_unique_range_t, InputIterator, InputIterator) -> flat_map<std::remove_const_t<typename std::iterator_traits<InputIterator>::value_type::first_type>, typename std::iterator_traits<InputIterator>::value_type::second_type>;
|
||||
flat_map(ordered_unique_range_t, InputIterator, InputIterator) ->
|
||||
flat_map< typename dtl::remove_const<typename iterator_traits<InputIterator>::value_type::first_type>::type
|
||||
, typename iterator_traits<InputIterator>::value_type::second_type>;
|
||||
|
||||
template <typename InputIterator, typename Allocator>
|
||||
flat_map(ordered_unique_range_t, InputIterator, InputIterator, Allocator const&) -> flat_map<std::remove_const_t<typename std::iterator_traits<InputIterator>::value_type::first_type>, typename std::iterator_traits<InputIterator>::value_type::second_type, std::less<std::remove_const_t<typename std::iterator_traits<InputIterator>::value_type::first_type>>, Allocator>;
|
||||
flat_map(ordered_unique_range_t, InputIterator, InputIterator, Allocator const&) ->
|
||||
flat_map< typename dtl::remove_const<typename iterator_traits<InputIterator>::value_type::first_type>::type
|
||||
, typename iterator_traits<InputIterator>::value_type::second_type
|
||||
, std::less<typename dtl::remove_const<typename iterator_traits<InputIterator>::value_type::first_type>::type>
|
||||
, Allocator>;
|
||||
|
||||
template <typename InputIterator, typename Compare>
|
||||
flat_map(ordered_unique_range_t, InputIterator, InputIterator, Compare const&) -> flat_map<std::remove_const_t<typename std::iterator_traits<InputIterator>::value_type::first_type>, typename std::iterator_traits<InputIterator>::value_type::second_type, Compare>;
|
||||
flat_map(ordered_unique_range_t, InputIterator, InputIterator, Compare const&) ->
|
||||
flat_map< typename dtl::remove_const<typename iterator_traits<InputIterator>::value_type::first_type>::type
|
||||
, typename iterator_traits<InputIterator>::value_type::second_type
|
||||
, Compare>;
|
||||
|
||||
template <typename InputIterator, typename Compare, typename Allocator>
|
||||
flat_map(ordered_unique_range_t, InputIterator, InputIterator, Compare const&, Allocator const&) -> flat_map<std::remove_const_t<typename std::iterator_traits<InputIterator>::value_type::first_type>, typename std::iterator_traits<InputIterator>::value_type::second_type, Compare, Allocator>;
|
||||
flat_map(ordered_unique_range_t, InputIterator, InputIterator, Compare const&, Allocator const&) ->
|
||||
flat_map< typename dtl::remove_const<typename iterator_traits<InputIterator>::value_type::first_type>::type
|
||||
, typename iterator_traits<InputIterator>::value_type::second_type
|
||||
, Compare
|
||||
, Allocator>;
|
||||
|
||||
#endif
|
||||
|
||||
#ifndef BOOST_CONTAINER_DOXYGEN_INVOKED
|
||||
@@ -2776,22 +2811,57 @@ class flat_multimap
|
||||
};
|
||||
|
||||
#if __cplusplus >= 201703L
|
||||
|
||||
template <typename InputIterator>
|
||||
flat_multimap(InputIterator, InputIterator) -> flat_multimap<std::remove_const_t<typename std::iterator_traits<InputIterator>::value_type::first_type>, typename std::iterator_traits<InputIterator>::value_type::second_type>;
|
||||
flat_multimap(InputIterator, InputIterator) ->
|
||||
flat_multimap<typename dtl::remove_const< typename iterator_traits<InputIterator>::value_type::first_type>::type
|
||||
, typename iterator_traits<InputIterator>::value_type::second_type>;
|
||||
|
||||
template <typename InputIterator, typename Allocator>
|
||||
flat_multimap(InputIterator, InputIterator, Allocator const&) -> flat_multimap<std::remove_const_t<typename std::iterator_traits<InputIterator>::value_type::first_type>, typename std::iterator_traits<InputIterator>::value_type::second_type, std::less<std::remove_const_t<typename std::iterator_traits<InputIterator>::value_type::first_type>>, Allocator>;
|
||||
flat_multimap(InputIterator, InputIterator, Allocator const&) ->
|
||||
flat_multimap<typename dtl::remove_const< typename iterator_traits<InputIterator>::value_type::first_type>::type
|
||||
, typename iterator_traits<InputIterator>::value_type::second_type
|
||||
, std::less<typename dtl::remove_const<typename iterator_traits<InputIterator>::value_type::first_type>::type>
|
||||
, Allocator>;
|
||||
|
||||
template <typename InputIterator, typename Compare>
|
||||
flat_multimap(InputIterator, InputIterator, Compare const&) -> flat_multimap<std::remove_const_t<typename std::iterator_traits<InputIterator>::value_type::first_type>, typename std::iterator_traits<InputIterator>::value_type::second_type, Compare>;
|
||||
flat_multimap(InputIterator, InputIterator, Compare const&) ->
|
||||
flat_multimap< typename dtl::remove_const<typename iterator_traits<InputIterator>::value_type::first_type>::type
|
||||
, typename iterator_traits<InputIterator>::value_type::second_type
|
||||
, Compare>;
|
||||
|
||||
template <typename InputIterator, typename Compare, typename Allocator>
|
||||
flat_multimap(InputIterator, InputIterator, Compare const&, Allocator const&) -> flat_multimap<std::remove_const_t<typename std::iterator_traits<InputIterator>::value_type::first_type>, typename std::iterator_traits<InputIterator>::value_type::second_type, Compare, Allocator>;
|
||||
flat_multimap(InputIterator, InputIterator, Compare const&, Allocator const&) ->
|
||||
flat_multimap< typename dtl::remove_const<typename iterator_traits<InputIterator>::value_type::first_type>::type
|
||||
, typename iterator_traits<InputIterator>::value_type::second_type
|
||||
, Compare
|
||||
, Allocator>;
|
||||
|
||||
template <typename InputIterator>
|
||||
flat_multimap(ordered_range_t, InputIterator, InputIterator) -> flat_multimap<std::remove_const_t<typename std::iterator_traits<InputIterator>::value_type::first_type>, typename std::iterator_traits<InputIterator>::value_type::second_type>;
|
||||
flat_multimap(ordered_range_t, InputIterator, InputIterator) ->
|
||||
flat_multimap< typename dtl::remove_const<typename iterator_traits<InputIterator>::value_type::first_type>::type
|
||||
, typename iterator_traits<InputIterator>::value_type::second_type>;
|
||||
|
||||
template <typename InputIterator, typename Allocator>
|
||||
flat_multimap(ordered_range_t, InputIterator, InputIterator, Allocator const&) -> flat_multimap<std::remove_const_t<typename std::iterator_traits<InputIterator>::value_type::first_type>, typename std::iterator_traits<InputIterator>::value_type::second_type, std::less<std::remove_const_t<typename std::iterator_traits<InputIterator>::value_type::first_type>>, Allocator>;
|
||||
flat_multimap(ordered_range_t, InputIterator, InputIterator, Allocator const&) ->
|
||||
flat_multimap< typename dtl::remove_const<typename iterator_traits<InputIterator>::value_type::first_type>::type
|
||||
, typename iterator_traits<InputIterator>::value_type::second_type
|
||||
, std::less<typename dtl::remove_const<typename iterator_traits<InputIterator>::value_type::first_type>::type>
|
||||
, Allocator>;
|
||||
|
||||
template <typename InputIterator, typename Compare>
|
||||
flat_multimap(ordered_range_t, InputIterator, InputIterator, Compare const&) -> flat_multimap<std::remove_const_t<typename std::iterator_traits<InputIterator>::value_type::first_type>, typename std::iterator_traits<InputIterator>::value_type::second_type, Compare>;
|
||||
flat_multimap(ordered_range_t, InputIterator, InputIterator, Compare const&) ->
|
||||
flat_multimap< typename dtl::remove_const<typename iterator_traits<InputIterator>::value_type::first_type>::type
|
||||
, typename iterator_traits<InputIterator>::value_type::second_type
|
||||
, Compare>;
|
||||
|
||||
template <typename InputIterator, typename Compare, typename Allocator>
|
||||
flat_multimap(ordered_range_t, InputIterator, InputIterator, Compare const&, Allocator const&) -> flat_multimap<std::remove_const_t<typename std::iterator_traits<InputIterator>::value_type::first_type>, typename std::iterator_traits<InputIterator>::value_type::second_type, Compare, Allocator>;
|
||||
flat_multimap(ordered_range_t, InputIterator, InputIterator, Compare const&, Allocator const&) ->
|
||||
flat_multimap< typename dtl::remove_const<typename iterator_traits<InputIterator>::value_type::first_type>::type
|
||||
, typename iterator_traits<InputIterator>::value_type::second_type
|
||||
, Compare
|
||||
, Allocator>;
|
||||
|
||||
#endif
|
||||
|
||||
}}
|
||||
|
||||
Reference in new issue
Block a user