forked from boostorg/intrusive
* Big refactoring in order to reduce template and debug symbol bloat.
* Fixes #8698 * Implemented SCARY iterators [SVN r85165]
This commit is contained in:
1 parent
83f5f4b95b
commit
fbd8e26461
146 files changed
+12087
-22796
No files matched your search
@@ -1,7 +1,7 @@
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// (C) Copyright Olaf Krzikalla 2004-2006.
|
||||
// (C) Copyright Ion Gaztanaga 2006-2012
|
||||
// (C) Copyright Ion Gaztanaga 2006-2013
|
||||
//
|
||||
// Distributed under the Boost Software License, Version 1.0.
|
||||
// (See accompanying file LICENSE_1_0.txt or copy at
|
||||
@@ -120,8 +120,12 @@ struct unordered_algorithms
|
||||
: public circular_slist_algorithms<NodeTraits>
|
||||
{
|
||||
typedef circular_slist_algorithms<NodeTraits> base_type;
|
||||
typedef unordered_group_adapter<NodeTraits> group_traits;
|
||||
typedef unordered_group_adapter<NodeTraits> group_traits;
|
||||
typedef circular_slist_algorithms<group_traits> group_algorithms;
|
||||
typedef NodeTraits node_traits;
|
||||
typedef typename NodeTraits::node node;
|
||||
typedef typename NodeTraits::node_ptr node_ptr;
|
||||
typedef typename NodeTraits::const_node_ptr const_node_ptr;
|
||||
|
||||
static void init(typename base_type::node_ptr n)
|
||||
{
|
||||
@@ -163,7 +167,7 @@ struct get_uset_node_algo
|
||||
#if defined(BOOST_INTRUSIVE_DOXYGEN_INVOKED) || defined(BOOST_INTRUSIVE_VARIADIC_TEMPLATES)
|
||||
template<class ...Options>
|
||||
#else
|
||||
template<class O1 = none, class O2 = none, class O3 = none, class O4 = none>
|
||||
template<class O1 = void, class O2 = void, class O3 = void, class O4 = void>
|
||||
#endif
|
||||
struct make_unordered_set_base_hook
|
||||
{
|
||||
@@ -177,14 +181,14 @@ struct make_unordered_set_base_hook
|
||||
#endif
|
||||
>::type packed_options;
|
||||
|
||||
typedef detail::generic_hook
|
||||
typedef generic_hook
|
||||
< get_uset_node_algo<typename packed_options::void_pointer
|
||||
, packed_options::store_hash
|
||||
, packed_options::optimize_multikey
|
||||
>
|
||||
, typename packed_options::tag
|
||||
, packed_options::link_mode
|
||||
, detail::UsetBaseHook
|
||||
, HashBaseHookId
|
||||
> implementation_defined;
|
||||
/// @endcond
|
||||
typedef implementation_defined type;
|
||||
@@ -302,7 +306,7 @@ class unordered_set_base_hook
|
||||
#if defined(BOOST_INTRUSIVE_DOXYGEN_INVOKED) || defined(BOOST_INTRUSIVE_VARIADIC_TEMPLATES)
|
||||
template<class ...Options>
|
||||
#else
|
||||
template<class O1 = none, class O2 = none, class O3 = none, class O4 = none>
|
||||
template<class O1 = void, class O2 = void, class O3 = void, class O4 = void>
|
||||
#endif
|
||||
struct make_unordered_set_member_hook
|
||||
{
|
||||
@@ -316,14 +320,14 @@ struct make_unordered_set_member_hook
|
||||
#endif
|
||||
>::type packed_options;
|
||||
|
||||
typedef detail::generic_hook
|
||||
typedef generic_hook
|
||||
< get_uset_node_algo< typename packed_options::void_pointer
|
||||
, packed_options::store_hash
|
||||
, packed_options::optimize_multikey
|
||||
>
|
||||
, member_tag
|
||||
, packed_options::link_mode
|
||||
, detail::NoBaseHook
|
||||
, NoBaseHookId
|
||||
> implementation_defined;
|
||||
/// @endcond
|
||||
typedef implementation_defined type;
|
||||
|
||||
Reference in new issue
Block a user