mirror of
https://github.com/boostorg/intrusive.git
synced 2025-08-02 14:04:36 +02:00
lib: extra template parameter propagated to impl bases, not used yet
This commit is contained in:
@@ -36,15 +36,15 @@ namespace intrusive {
|
|||||||
#if defined(BOOST_INTRUSIVE_DOXYGEN_INVOKED)
|
#if defined(BOOST_INTRUSIVE_DOXYGEN_INVOKED)
|
||||||
template<class T, class ...Options>
|
template<class T, class ...Options>
|
||||||
#else
|
#else
|
||||||
template<class ValueTraits, class Compare, class SizeType, bool ConstantTimeSize>
|
template<class ValueTraits, class Compare, class SizeType, bool ConstantTimeSize, typename Header_Holder>
|
||||||
#endif
|
#endif
|
||||||
class avl_set_impl
|
class avl_set_impl
|
||||||
#ifndef BOOST_INTRUSIVE_DOXYGEN_INVOKED
|
#ifndef BOOST_INTRUSIVE_DOXYGEN_INVOKED
|
||||||
: public bstree_impl<ValueTraits, Compare, SizeType, ConstantTimeSize, AvlTreeAlgorithms>
|
: public bstree_impl<ValueTraits, Compare, SizeType, ConstantTimeSize, AvlTreeAlgorithms, Header_Holder>
|
||||||
#endif
|
#endif
|
||||||
{
|
{
|
||||||
/// @cond
|
/// @cond
|
||||||
typedef bstree_impl<ValueTraits, Compare, SizeType, ConstantTimeSize, AvlTreeAlgorithms> tree_type;
|
typedef bstree_impl<ValueTraits, Compare, SizeType, ConstantTimeSize, AvlTreeAlgorithms, Header_Holder> tree_type;
|
||||||
BOOST_MOVABLE_BUT_NOT_COPYABLE(avl_set_impl)
|
BOOST_MOVABLE_BUT_NOT_COPYABLE(avl_set_impl)
|
||||||
|
|
||||||
typedef tree_type implementation_defined;
|
typedef tree_type implementation_defined;
|
||||||
@@ -414,12 +414,15 @@ struct make_avl_set
|
|||||||
|
|
||||||
typedef typename detail::get_value_traits
|
typedef typename detail::get_value_traits
|
||||||
<T, typename packed_options::proto_value_traits>::type value_traits;
|
<T, typename packed_options::proto_value_traits>::type value_traits;
|
||||||
|
typedef typename detail::get_header_holder_type
|
||||||
|
< value_traits, typename packed_options::header_holder_type >::type header_holder_type;
|
||||||
|
|
||||||
typedef avl_set_impl
|
typedef avl_set_impl
|
||||||
< value_traits
|
< value_traits
|
||||||
, typename packed_options::compare
|
, typename packed_options::compare
|
||||||
, typename packed_options::size_type
|
, typename packed_options::size_type
|
||||||
, packed_options::constant_time_size
|
, packed_options::constant_time_size
|
||||||
|
, header_holder_type
|
||||||
> implementation_defined;
|
> implementation_defined;
|
||||||
/// @endcond
|
/// @endcond
|
||||||
typedef implementation_defined type;
|
typedef implementation_defined type;
|
||||||
@@ -507,15 +510,15 @@ class avl_set
|
|||||||
#if defined(BOOST_INTRUSIVE_DOXYGEN_INVOKED)
|
#if defined(BOOST_INTRUSIVE_DOXYGEN_INVOKED)
|
||||||
template<class T, class ...Options>
|
template<class T, class ...Options>
|
||||||
#else
|
#else
|
||||||
template<class ValueTraits, class Compare, class SizeType, bool ConstantTimeSize>
|
template<class ValueTraits, class Compare, class SizeType, bool ConstantTimeSize, typename Header_Holder>
|
||||||
#endif
|
#endif
|
||||||
class avl_multiset_impl
|
class avl_multiset_impl
|
||||||
#ifndef BOOST_INTRUSIVE_DOXYGEN_INVOKED
|
#ifndef BOOST_INTRUSIVE_DOXYGEN_INVOKED
|
||||||
: public bstree_impl<ValueTraits, Compare, SizeType, ConstantTimeSize, AvlTreeAlgorithms>
|
: public bstree_impl<ValueTraits, Compare, SizeType, ConstantTimeSize, AvlTreeAlgorithms, Header_Holder>
|
||||||
#endif
|
#endif
|
||||||
{
|
{
|
||||||
/// @cond
|
/// @cond
|
||||||
typedef bstree_impl<ValueTraits, Compare, SizeType, ConstantTimeSize, AvlTreeAlgorithms> tree_type;
|
typedef bstree_impl<ValueTraits, Compare, SizeType, ConstantTimeSize, AvlTreeAlgorithms, Header_Holder> tree_type;
|
||||||
|
|
||||||
BOOST_MOVABLE_BUT_NOT_COPYABLE(avl_multiset_impl)
|
BOOST_MOVABLE_BUT_NOT_COPYABLE(avl_multiset_impl)
|
||||||
typedef tree_type implementation_defined;
|
typedef tree_type implementation_defined;
|
||||||
@@ -852,12 +855,15 @@ struct make_avl_multiset
|
|||||||
|
|
||||||
typedef typename detail::get_value_traits
|
typedef typename detail::get_value_traits
|
||||||
<T, typename packed_options::proto_value_traits>::type value_traits;
|
<T, typename packed_options::proto_value_traits>::type value_traits;
|
||||||
|
typedef typename detail::get_header_holder_type
|
||||||
|
< value_traits, typename packed_options::header_holder_type >::type header_holder_type;
|
||||||
|
|
||||||
typedef avl_multiset_impl
|
typedef avl_multiset_impl
|
||||||
< value_traits
|
< value_traits
|
||||||
, typename packed_options::compare
|
, typename packed_options::compare
|
||||||
, typename packed_options::size_type
|
, typename packed_options::size_type
|
||||||
, packed_options::constant_time_size
|
, packed_options::constant_time_size
|
||||||
|
, header_holder_type
|
||||||
> implementation_defined;
|
> implementation_defined;
|
||||||
/// @endcond
|
/// @endcond
|
||||||
typedef implementation_defined type;
|
typedef implementation_defined type;
|
||||||
|
@@ -68,18 +68,19 @@ struct avltree_defaults
|
|||||||
#if defined(BOOST_INTRUSIVE_DOXYGEN_INVOKED)
|
#if defined(BOOST_INTRUSIVE_DOXYGEN_INVOKED)
|
||||||
template<class T, class ...Options>
|
template<class T, class ...Options>
|
||||||
#else
|
#else
|
||||||
template<class ValueTraits, class VoidOrKeyComp, class SizeType, bool ConstantTimeSize>
|
template<class ValueTraits, class VoidOrKeyComp, class SizeType, bool ConstantTimeSize, typename Header_Holder>
|
||||||
#endif
|
#endif
|
||||||
class avltree_impl
|
class avltree_impl
|
||||||
/// @cond
|
/// @cond
|
||||||
: public bstree_impl<ValueTraits, VoidOrKeyComp, SizeType, ConstantTimeSize, AvlTreeAlgorithms>
|
: public bstree_impl<ValueTraits, VoidOrKeyComp, SizeType, ConstantTimeSize, AvlTreeAlgorithms, Header_Holder>
|
||||||
/// @endcond
|
/// @endcond
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
typedef ValueTraits value_traits;
|
typedef ValueTraits value_traits;
|
||||||
/// @cond
|
/// @cond
|
||||||
typedef bstree_impl< ValueTraits, VoidOrKeyComp, SizeType
|
typedef bstree_impl< ValueTraits, VoidOrKeyComp, SizeType
|
||||||
, ConstantTimeSize, AvlTreeAlgorithms> tree_type;
|
, ConstantTimeSize, AvlTreeAlgorithms
|
||||||
|
, Header_Holder> tree_type;
|
||||||
typedef tree_type implementation_defined;
|
typedef tree_type implementation_defined;
|
||||||
/// @endcond
|
/// @endcond
|
||||||
|
|
||||||
@@ -448,12 +449,15 @@ struct make_avltree
|
|||||||
|
|
||||||
typedef typename detail::get_value_traits
|
typedef typename detail::get_value_traits
|
||||||
<T, typename packed_options::proto_value_traits>::type value_traits;
|
<T, typename packed_options::proto_value_traits>::type value_traits;
|
||||||
|
typedef typename detail::get_header_holder_type
|
||||||
|
< value_traits, typename packed_options::header_holder_type >::type header_holder_type;
|
||||||
|
|
||||||
typedef avltree_impl
|
typedef avltree_impl
|
||||||
< value_traits
|
< value_traits
|
||||||
, typename packed_options::compare
|
, typename packed_options::compare
|
||||||
, typename packed_options::size_type
|
, typename packed_options::size_type
|
||||||
, packed_options::constant_time_size
|
, packed_options::constant_time_size
|
||||||
|
, header_holder_type
|
||||||
> implementation_defined;
|
> implementation_defined;
|
||||||
/// @endcond
|
/// @endcond
|
||||||
typedef implementation_defined type;
|
typedef implementation_defined type;
|
||||||
|
@@ -36,15 +36,15 @@ namespace intrusive {
|
|||||||
#if defined(BOOST_INTRUSIVE_DOXYGEN_INVOKED)
|
#if defined(BOOST_INTRUSIVE_DOXYGEN_INVOKED)
|
||||||
template<class T, class ...Options>
|
template<class T, class ...Options>
|
||||||
#else
|
#else
|
||||||
template<class ValueTraits, class Compare, class SizeType, bool ConstantTimeSize>
|
template<class ValueTraits, class Compare, class SizeType, bool ConstantTimeSize, typename Header_Holder>
|
||||||
#endif
|
#endif
|
||||||
class bs_set_impl
|
class bs_set_impl
|
||||||
#ifndef BOOST_INTRUSIVE_DOXYGEN_INVOKED
|
#ifndef BOOST_INTRUSIVE_DOXYGEN_INVOKED
|
||||||
: public bstree_impl<ValueTraits, Compare, SizeType, ConstantTimeSize, BsTreeAlgorithms>
|
: public bstree_impl<ValueTraits, Compare, SizeType, ConstantTimeSize, BsTreeAlgorithms, Header_Holder>
|
||||||
#endif
|
#endif
|
||||||
{
|
{
|
||||||
/// @cond
|
/// @cond
|
||||||
typedef bstree_impl<ValueTraits, Compare, SizeType, ConstantTimeSize, BsTreeAlgorithms> tree_type;
|
typedef bstree_impl<ValueTraits, Compare, SizeType, ConstantTimeSize, BsTreeAlgorithms, Header_Holder> tree_type;
|
||||||
BOOST_MOVABLE_BUT_NOT_COPYABLE(bs_set_impl)
|
BOOST_MOVABLE_BUT_NOT_COPYABLE(bs_set_impl)
|
||||||
|
|
||||||
typedef tree_type implementation_defined;
|
typedef tree_type implementation_defined;
|
||||||
@@ -412,12 +412,15 @@ struct make_bs_set
|
|||||||
|
|
||||||
typedef typename detail::get_value_traits
|
typedef typename detail::get_value_traits
|
||||||
<T, typename packed_options::proto_value_traits>::type value_traits;
|
<T, typename packed_options::proto_value_traits>::type value_traits;
|
||||||
|
typedef typename detail::get_header_holder_type
|
||||||
|
< value_traits, typename packed_options::header_holder_type >::type header_holder_type;
|
||||||
|
|
||||||
typedef bs_set_impl
|
typedef bs_set_impl
|
||||||
< value_traits
|
< value_traits
|
||||||
, typename packed_options::compare
|
, typename packed_options::compare
|
||||||
, typename packed_options::size_type
|
, typename packed_options::size_type
|
||||||
, packed_options::constant_time_size
|
, packed_options::constant_time_size
|
||||||
|
, header_holder_type
|
||||||
> implementation_defined;
|
> implementation_defined;
|
||||||
/// @endcond
|
/// @endcond
|
||||||
typedef implementation_defined type;
|
typedef implementation_defined type;
|
||||||
@@ -505,15 +508,15 @@ class bs_set
|
|||||||
#if defined(BOOST_INTRUSIVE_DOXYGEN_INVOKED)
|
#if defined(BOOST_INTRUSIVE_DOXYGEN_INVOKED)
|
||||||
template<class T, class ...Options>
|
template<class T, class ...Options>
|
||||||
#else
|
#else
|
||||||
template<class ValueTraits, class Compare, class SizeType, bool ConstantTimeSize>
|
template<class ValueTraits, class Compare, class SizeType, bool ConstantTimeSize, typename Header_Holder>
|
||||||
#endif
|
#endif
|
||||||
class bs_multiset_impl
|
class bs_multiset_impl
|
||||||
#ifndef BOOST_INTRUSIVE_DOXYGEN_INVOKED
|
#ifndef BOOST_INTRUSIVE_DOXYGEN_INVOKED
|
||||||
: public bstree_impl<ValueTraits, Compare, SizeType, ConstantTimeSize, RbTreeAlgorithms>
|
: public bstree_impl<ValueTraits, Compare, SizeType, ConstantTimeSize, RbTreeAlgorithms, Header_Holder>
|
||||||
#endif
|
#endif
|
||||||
{
|
{
|
||||||
/// @cond
|
/// @cond
|
||||||
typedef bstree_impl<ValueTraits, Compare, SizeType, ConstantTimeSize, RbTreeAlgorithms> tree_type;
|
typedef bstree_impl<ValueTraits, Compare, SizeType, ConstantTimeSize, RbTreeAlgorithms, Header_Holder> tree_type;
|
||||||
|
|
||||||
BOOST_MOVABLE_BUT_NOT_COPYABLE(bs_multiset_impl)
|
BOOST_MOVABLE_BUT_NOT_COPYABLE(bs_multiset_impl)
|
||||||
typedef tree_type implementation_defined;
|
typedef tree_type implementation_defined;
|
||||||
@@ -850,12 +853,15 @@ struct make_bs_multiset
|
|||||||
|
|
||||||
typedef typename detail::get_value_traits
|
typedef typename detail::get_value_traits
|
||||||
<T, typename packed_options::proto_value_traits>::type value_traits;
|
<T, typename packed_options::proto_value_traits>::type value_traits;
|
||||||
|
typedef typename detail::get_header_holder_type
|
||||||
|
< value_traits, typename packed_options::header_holder_type >::type header_holder_type;
|
||||||
|
|
||||||
typedef bs_multiset_impl
|
typedef bs_multiset_impl
|
||||||
< value_traits
|
< value_traits
|
||||||
, typename packed_options::compare
|
, typename packed_options::compare
|
||||||
, typename packed_options::size_type
|
, typename packed_options::size_type
|
||||||
, packed_options::constant_time_size
|
, packed_options::constant_time_size
|
||||||
|
, header_holder_type
|
||||||
> implementation_defined;
|
> implementation_defined;
|
||||||
/// @endcond
|
/// @endcond
|
||||||
typedef implementation_defined type;
|
typedef implementation_defined type;
|
||||||
|
@@ -52,7 +52,7 @@ struct bstree_defaults
|
|||||||
typedef void header_holder_type;
|
typedef void header_holder_type;
|
||||||
};
|
};
|
||||||
|
|
||||||
template<class ValueTraits, algo_types AlgoType>
|
template<class ValueTraits, algo_types AlgoType, typename Header_Holder>
|
||||||
struct bstbase3
|
struct bstbase3
|
||||||
{
|
{
|
||||||
typedef ValueTraits value_traits;
|
typedef ValueTraits value_traits;
|
||||||
@@ -198,15 +198,15 @@ struct bstbase3
|
|||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
template<class ValueTraits, class VoidOrKeyComp, algo_types AlgoType>
|
template<class ValueTraits, class VoidOrKeyComp, algo_types AlgoType, typename Header_Holder>
|
||||||
struct bstbase2
|
struct bstbase2
|
||||||
//Put the (possibly empty) functor in the first position to get EBO in MSVC
|
//Put the (possibly empty) functor in the first position to get EBO in MSVC
|
||||||
: public detail::ebo_functor_holder<typename get_less< VoidOrKeyComp
|
: public detail::ebo_functor_holder<typename get_less< VoidOrKeyComp
|
||||||
, typename ValueTraits::value_type
|
, typename ValueTraits::value_type
|
||||||
>::type>
|
>::type>
|
||||||
, public bstbase3<ValueTraits, AlgoType>
|
, public bstbase3<ValueTraits, AlgoType, Header_Holder>
|
||||||
{
|
{
|
||||||
typedef bstbase3<ValueTraits, AlgoType> treeheader_t;
|
typedef bstbase3<ValueTraits, AlgoType, Header_Holder> treeheader_t;
|
||||||
typedef typename treeheader_t::value_traits value_traits;
|
typedef typename treeheader_t::value_traits value_traits;
|
||||||
typedef typename treeheader_t::node_algorithms node_algorithms;
|
typedef typename treeheader_t::node_algorithms node_algorithms;
|
||||||
typedef typename get_less
|
typedef typename get_less
|
||||||
@@ -444,12 +444,12 @@ struct bstbase2
|
|||||||
//Due to MSVC's EBO implementation, to save space and maintain the ABI, we must put the non-empty size member
|
//Due to MSVC's EBO implementation, to save space and maintain the ABI, we must put the non-empty size member
|
||||||
//in the first position, but if size is not going to be stored then we'll use an specialization
|
//in the first position, but if size is not going to be stored then we'll use an specialization
|
||||||
//that doesn't inherit from size_holder
|
//that doesn't inherit from size_holder
|
||||||
template<class ValueTraits, class VoidOrKeyComp, bool ConstantTimeSize, class SizeType, algo_types AlgoType>
|
template<class ValueTraits, class VoidOrKeyComp, bool ConstantTimeSize, class SizeType, algo_types AlgoType, typename Header_Holder>
|
||||||
struct bstbase_hack
|
struct bstbase_hack
|
||||||
: public detail::size_holder<ConstantTimeSize, SizeType>
|
: public detail::size_holder<ConstantTimeSize, SizeType>
|
||||||
, public bstbase2 < ValueTraits, VoidOrKeyComp, AlgoType>
|
, public bstbase2 < ValueTraits, VoidOrKeyComp, AlgoType, Header_Holder>
|
||||||
{
|
{
|
||||||
typedef bstbase2< ValueTraits, VoidOrKeyComp, AlgoType> base_type;
|
typedef bstbase2< ValueTraits, VoidOrKeyComp, AlgoType, Header_Holder> base_type;
|
||||||
typedef typename base_type::value_compare value_compare;
|
typedef typename base_type::value_compare value_compare;
|
||||||
typedef SizeType size_type;
|
typedef SizeType size_type;
|
||||||
typedef typename base_type::node_traits node_traits;
|
typedef typename base_type::node_traits node_traits;
|
||||||
@@ -472,11 +472,11 @@ struct bstbase_hack
|
|||||||
};
|
};
|
||||||
|
|
||||||
//Specialization for ConstantTimeSize == false
|
//Specialization for ConstantTimeSize == false
|
||||||
template<class ValueTraits, class VoidOrKeyComp, class SizeType, algo_types AlgoType>
|
template<class ValueTraits, class VoidOrKeyComp, class SizeType, algo_types AlgoType, typename Header_Holder>
|
||||||
struct bstbase_hack<ValueTraits, VoidOrKeyComp, false, SizeType, AlgoType>
|
struct bstbase_hack<ValueTraits, VoidOrKeyComp, false, SizeType, AlgoType, Header_Holder>
|
||||||
: public bstbase2 < ValueTraits, VoidOrKeyComp, AlgoType>
|
: public bstbase2 < ValueTraits, VoidOrKeyComp, AlgoType, Header_Holder>
|
||||||
{
|
{
|
||||||
typedef bstbase2< ValueTraits, VoidOrKeyComp, AlgoType> base_type;
|
typedef bstbase2< ValueTraits, VoidOrKeyComp, AlgoType, Header_Holder> base_type;
|
||||||
typedef typename base_type::value_compare value_compare;
|
typedef typename base_type::value_compare value_compare;
|
||||||
bstbase_hack(const value_compare & comp, const ValueTraits &vtraits)
|
bstbase_hack(const value_compare & comp, const ValueTraits &vtraits)
|
||||||
: base_type(comp, vtraits)
|
: base_type(comp, vtraits)
|
||||||
@@ -493,15 +493,15 @@ struct bstbase_hack<ValueTraits, VoidOrKeyComp, false, SizeType, AlgoType>
|
|||||||
static size_traits s_size_traits;
|
static size_traits s_size_traits;
|
||||||
};
|
};
|
||||||
|
|
||||||
template<class ValueTraits, class VoidOrKeyComp, class SizeType, algo_types AlgoType>
|
template<class ValueTraits, class VoidOrKeyComp, class SizeType, algo_types AlgoType, typename Header_Holder>
|
||||||
detail::size_holder<true, SizeType> bstbase_hack<ValueTraits, VoidOrKeyComp, false, SizeType, AlgoType>::s_size_traits;
|
detail::size_holder<true, SizeType> bstbase_hack<ValueTraits, VoidOrKeyComp, false, SizeType, AlgoType, Header_Holder>::s_size_traits;
|
||||||
|
|
||||||
//This class will
|
//This class will
|
||||||
template<class ValueTraits, class VoidOrKeyComp, bool ConstantTimeSize, class SizeType, algo_types AlgoType>
|
template<class ValueTraits, class VoidOrKeyComp, bool ConstantTimeSize, class SizeType, algo_types AlgoType, typename Header_Holder>
|
||||||
struct bstbase
|
struct bstbase
|
||||||
: public bstbase_hack< ValueTraits, VoidOrKeyComp, ConstantTimeSize, SizeType, AlgoType>
|
: public bstbase_hack< ValueTraits, VoidOrKeyComp, ConstantTimeSize, SizeType, AlgoType, Header_Holder>
|
||||||
{
|
{
|
||||||
typedef bstbase_hack< ValueTraits, VoidOrKeyComp, ConstantTimeSize, SizeType, AlgoType> base_type;
|
typedef bstbase_hack< ValueTraits, VoidOrKeyComp, ConstantTimeSize, SizeType, AlgoType, Header_Holder> base_type;
|
||||||
typedef ValueTraits value_traits;
|
typedef ValueTraits value_traits;
|
||||||
typedef typename base_type::value_compare value_compare;
|
typedef typename base_type::value_compare value_compare;
|
||||||
typedef value_compare key_compare;
|
typedef value_compare key_compare;
|
||||||
@@ -553,14 +553,14 @@ struct bstbase
|
|||||||
#if defined(BOOST_INTRUSIVE_DOXYGEN_INVOKED)
|
#if defined(BOOST_INTRUSIVE_DOXYGEN_INVOKED)
|
||||||
template<class T, class ...Options>
|
template<class T, class ...Options>
|
||||||
#else
|
#else
|
||||||
template<class ValueTraits, class VoidKeyComp, class SizeType, bool ConstantTimeSize, algo_types AlgoType>
|
template<class ValueTraits, class VoidKeyComp, class SizeType, bool ConstantTimeSize, algo_types AlgoType, typename Header_Holder>
|
||||||
#endif
|
#endif
|
||||||
class bstree_impl
|
class bstree_impl
|
||||||
: public bstbase<ValueTraits, VoidKeyComp, ConstantTimeSize, SizeType, AlgoType>
|
: public bstbase<ValueTraits, VoidKeyComp, ConstantTimeSize, SizeType, AlgoType, Header_Holder>
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
/// @cond
|
/// @cond
|
||||||
typedef bstbase<ValueTraits, VoidKeyComp, ConstantTimeSize, SizeType, AlgoType> data_type;
|
typedef bstbase<ValueTraits, VoidKeyComp, ConstantTimeSize, SizeType, AlgoType, Header_Holder> data_type;
|
||||||
typedef tree_iterator<ValueTraits, false> iterator_type;
|
typedef tree_iterator<ValueTraits, false> iterator_type;
|
||||||
typedef tree_iterator<ValueTraits, true> const_iterator_type;
|
typedef tree_iterator<ValueTraits, true> const_iterator_type;
|
||||||
/// @endcond
|
/// @endcond
|
||||||
@@ -1876,31 +1876,31 @@ class bstree_impl
|
|||||||
#if defined(BOOST_INTRUSIVE_DOXYGEN_INVOKED)
|
#if defined(BOOST_INTRUSIVE_DOXYGEN_INVOKED)
|
||||||
template<class T, class ...Options>
|
template<class T, class ...Options>
|
||||||
#else
|
#else
|
||||||
template<class ValueTraits, class VoidKeyComp, class SizeType, bool ConstantTimeSize, algo_types AlgoType>
|
template<class ValueTraits, class VoidKeyComp, class SizeType, bool ConstantTimeSize, algo_types AlgoType, typename Header_Holder>
|
||||||
#endif
|
#endif
|
||||||
inline bool operator<
|
inline bool operator<
|
||||||
#if defined(BOOST_INTRUSIVE_DOXYGEN_INVOKED)
|
#if defined(BOOST_INTRUSIVE_DOXYGEN_INVOKED)
|
||||||
(const bstree_impl<T, Options...> &x, const bstree_impl<T, Options...> &y)
|
(const bstree_impl<T, Options...> &x, const bstree_impl<T, Options...> &y)
|
||||||
#else
|
#else
|
||||||
( const bstree_impl<ValueTraits, VoidKeyComp, SizeType, ConstantTimeSize, AlgoType> &x
|
( const bstree_impl<ValueTraits, VoidKeyComp, SizeType, ConstantTimeSize, AlgoType, Header_Holder> &x
|
||||||
, const bstree_impl<ValueTraits, VoidKeyComp, SizeType, ConstantTimeSize, AlgoType> &y)
|
, const bstree_impl<ValueTraits, VoidKeyComp, SizeType, ConstantTimeSize, AlgoType, Header_Holder> &y)
|
||||||
#endif
|
#endif
|
||||||
{ return std::lexicographical_compare(x.begin(), x.end(), y.begin(), y.end()); }
|
{ return std::lexicographical_compare(x.begin(), x.end(), y.begin(), y.end()); }
|
||||||
|
|
||||||
#if defined(BOOST_INTRUSIVE_DOXYGEN_INVOKED)
|
#if defined(BOOST_INTRUSIVE_DOXYGEN_INVOKED)
|
||||||
template<class T, class ...Options>
|
template<class T, class ...Options>
|
||||||
#else
|
#else
|
||||||
template<class ValueTraits, class VoidKeyComp, class SizeType, bool ConstantTimeSize, algo_types AlgoType>
|
template<class ValueTraits, class VoidKeyComp, class SizeType, bool ConstantTimeSize, algo_types AlgoType, typename Header_Holder>
|
||||||
#endif
|
#endif
|
||||||
bool operator==
|
bool operator==
|
||||||
#if defined(BOOST_INTRUSIVE_DOXYGEN_INVOKED)
|
#if defined(BOOST_INTRUSIVE_DOXYGEN_INVOKED)
|
||||||
(const bstree_impl<T, Options...> &x, const bstree_impl<T, Options...> &y)
|
(const bstree_impl<T, Options...> &x, const bstree_impl<T, Options...> &y)
|
||||||
#else
|
#else
|
||||||
( const bstree_impl<ValueTraits, VoidKeyComp, SizeType, ConstantTimeSize, AlgoType> &x
|
( const bstree_impl<ValueTraits, VoidKeyComp, SizeType, ConstantTimeSize, AlgoType, Header_Holder> &x
|
||||||
, const bstree_impl<ValueTraits, VoidKeyComp, SizeType, ConstantTimeSize, AlgoType> &y)
|
, const bstree_impl<ValueTraits, VoidKeyComp, SizeType, ConstantTimeSize, AlgoType, Header_Holder> &y)
|
||||||
#endif
|
#endif
|
||||||
{
|
{
|
||||||
typedef bstree_impl<ValueTraits, VoidKeyComp, SizeType, ConstantTimeSize, AlgoType> tree_type;
|
typedef bstree_impl<ValueTraits, VoidKeyComp, SizeType, ConstantTimeSize, AlgoType, Header_Holder> tree_type;
|
||||||
typedef typename tree_type::const_iterator const_iterator;
|
typedef typename tree_type::const_iterator const_iterator;
|
||||||
|
|
||||||
if(tree_type::constant_time_size && x.size() != y.size()){
|
if(tree_type::constant_time_size && x.size() != y.size()){
|
||||||
@@ -1929,70 +1929,70 @@ bool operator==
|
|||||||
#if defined(BOOST_INTRUSIVE_DOXYGEN_INVOKED)
|
#if defined(BOOST_INTRUSIVE_DOXYGEN_INVOKED)
|
||||||
template<class T, class ...Options>
|
template<class T, class ...Options>
|
||||||
#else
|
#else
|
||||||
template<class ValueTraits, class VoidKeyComp, class SizeType, bool ConstantTimeSize, algo_types AlgoType>
|
template<class ValueTraits, class VoidKeyComp, class SizeType, bool ConstantTimeSize, algo_types AlgoType, typename Header_Holder>
|
||||||
#endif
|
#endif
|
||||||
inline bool operator!=
|
inline bool operator!=
|
||||||
#if defined(BOOST_INTRUSIVE_DOXYGEN_INVOKED)
|
#if defined(BOOST_INTRUSIVE_DOXYGEN_INVOKED)
|
||||||
(const bstree_impl<T, Options...> &x, const bstree_impl<T, Options...> &y)
|
(const bstree_impl<T, Options...> &x, const bstree_impl<T, Options...> &y)
|
||||||
#else
|
#else
|
||||||
( const bstree_impl<ValueTraits, VoidKeyComp, SizeType, ConstantTimeSize, AlgoType> &x
|
( const bstree_impl<ValueTraits, VoidKeyComp, SizeType, ConstantTimeSize, AlgoType, Header_Holder> &x
|
||||||
, const bstree_impl<ValueTraits, VoidKeyComp, SizeType, ConstantTimeSize, AlgoType> &y)
|
, const bstree_impl<ValueTraits, VoidKeyComp, SizeType, ConstantTimeSize, AlgoType, Header_Holder> &y)
|
||||||
#endif
|
#endif
|
||||||
{ return !(x == y); }
|
{ return !(x == y); }
|
||||||
|
|
||||||
#if defined(BOOST_INTRUSIVE_DOXYGEN_INVOKED)
|
#if defined(BOOST_INTRUSIVE_DOXYGEN_INVOKED)
|
||||||
template<class T, class ...Options>
|
template<class T, class ...Options>
|
||||||
#else
|
#else
|
||||||
template<class ValueTraits, class VoidKeyComp, class SizeType, bool ConstantTimeSize, algo_types AlgoType>
|
template<class ValueTraits, class VoidKeyComp, class SizeType, bool ConstantTimeSize, algo_types AlgoType, typename Header_Holder>
|
||||||
#endif
|
#endif
|
||||||
inline bool operator>
|
inline bool operator>
|
||||||
#if defined(BOOST_INTRUSIVE_DOXYGEN_INVOKED)
|
#if defined(BOOST_INTRUSIVE_DOXYGEN_INVOKED)
|
||||||
(const bstree_impl<T, Options...> &x, const bstree_impl<T, Options...> &y)
|
(const bstree_impl<T, Options...> &x, const bstree_impl<T, Options...> &y)
|
||||||
#else
|
#else
|
||||||
( const bstree_impl<ValueTraits, VoidKeyComp, SizeType, ConstantTimeSize, AlgoType> &x
|
( const bstree_impl<ValueTraits, VoidKeyComp, SizeType, ConstantTimeSize, AlgoType, Header_Holder> &x
|
||||||
, const bstree_impl<ValueTraits, VoidKeyComp, SizeType, ConstantTimeSize, AlgoType> &y)
|
, const bstree_impl<ValueTraits, VoidKeyComp, SizeType, ConstantTimeSize, AlgoType, Header_Holder> &y)
|
||||||
#endif
|
#endif
|
||||||
{ return y < x; }
|
{ return y < x; }
|
||||||
|
|
||||||
#if defined(BOOST_INTRUSIVE_DOXYGEN_INVOKED)
|
#if defined(BOOST_INTRUSIVE_DOXYGEN_INVOKED)
|
||||||
template<class T, class ...Options>
|
template<class T, class ...Options>
|
||||||
#else
|
#else
|
||||||
template<class ValueTraits, class VoidKeyComp, class SizeType, bool ConstantTimeSize, algo_types AlgoType>
|
template<class ValueTraits, class VoidKeyComp, class SizeType, bool ConstantTimeSize, algo_types AlgoType, typename Header_Holder>
|
||||||
#endif
|
#endif
|
||||||
inline bool operator<=
|
inline bool operator<=
|
||||||
#if defined(BOOST_INTRUSIVE_DOXYGEN_INVOKED)
|
#if defined(BOOST_INTRUSIVE_DOXYGEN_INVOKED)
|
||||||
(const bstree_impl<T, Options...> &x, const bstree_impl<T, Options...> &y)
|
(const bstree_impl<T, Options...> &x, const bstree_impl<T, Options...> &y)
|
||||||
#else
|
#else
|
||||||
( const bstree_impl<ValueTraits, VoidKeyComp, SizeType, ConstantTimeSize, AlgoType> &x
|
( const bstree_impl<ValueTraits, VoidKeyComp, SizeType, ConstantTimeSize, AlgoType, Header_Holder> &x
|
||||||
, const bstree_impl<ValueTraits, VoidKeyComp, SizeType, ConstantTimeSize, AlgoType> &y)
|
, const bstree_impl<ValueTraits, VoidKeyComp, SizeType, ConstantTimeSize, AlgoType, Header_Holder> &y)
|
||||||
#endif
|
#endif
|
||||||
{ return !(y < x); }
|
{ return !(y < x); }
|
||||||
|
|
||||||
#if defined(BOOST_INTRUSIVE_DOXYGEN_INVOKED)
|
#if defined(BOOST_INTRUSIVE_DOXYGEN_INVOKED)
|
||||||
template<class T, class ...Options>
|
template<class T, class ...Options>
|
||||||
#else
|
#else
|
||||||
template<class ValueTraits, class VoidKeyComp, class SizeType, bool ConstantTimeSize, algo_types AlgoType>
|
template<class ValueTraits, class VoidKeyComp, class SizeType, bool ConstantTimeSize, algo_types AlgoType, typename Header_Holder>
|
||||||
#endif
|
#endif
|
||||||
inline bool operator>=
|
inline bool operator>=
|
||||||
#if defined(BOOST_INTRUSIVE_DOXYGEN_INVOKED)
|
#if defined(BOOST_INTRUSIVE_DOXYGEN_INVOKED)
|
||||||
(const bstree_impl<T, Options...> &x, const bstree_impl<T, Options...> &y)
|
(const bstree_impl<T, Options...> &x, const bstree_impl<T, Options...> &y)
|
||||||
#else
|
#else
|
||||||
( const bstree_impl<ValueTraits, VoidKeyComp, SizeType, ConstantTimeSize, AlgoType> &x
|
( const bstree_impl<ValueTraits, VoidKeyComp, SizeType, ConstantTimeSize, AlgoType, Header_Holder> &x
|
||||||
, const bstree_impl<ValueTraits, VoidKeyComp, SizeType, ConstantTimeSize, AlgoType> &y)
|
, const bstree_impl<ValueTraits, VoidKeyComp, SizeType, ConstantTimeSize, AlgoType, Header_Holder> &y)
|
||||||
#endif
|
#endif
|
||||||
{ return !(x < y); }
|
{ return !(x < y); }
|
||||||
|
|
||||||
#if defined(BOOST_INTRUSIVE_DOXYGEN_INVOKED)
|
#if defined(BOOST_INTRUSIVE_DOXYGEN_INVOKED)
|
||||||
template<class T, class ...Options>
|
template<class T, class ...Options>
|
||||||
#else
|
#else
|
||||||
template<class ValueTraits, class VoidKeyComp, class SizeType, bool ConstantTimeSize, algo_types AlgoType>
|
template<class ValueTraits, class VoidKeyComp, class SizeType, bool ConstantTimeSize, algo_types AlgoType, typename Header_Holder>
|
||||||
#endif
|
#endif
|
||||||
inline void swap
|
inline void swap
|
||||||
#if defined(BOOST_INTRUSIVE_DOXYGEN_INVOKED)
|
#if defined(BOOST_INTRUSIVE_DOXYGEN_INVOKED)
|
||||||
(bstree_impl<T, Options...> &x, bstree_impl<T, Options...> &y)
|
(bstree_impl<T, Options...> &x, bstree_impl<T, Options...> &y)
|
||||||
#else
|
#else
|
||||||
( bstree_impl<ValueTraits, VoidKeyComp, SizeType, ConstantTimeSize, AlgoType> &x
|
( bstree_impl<ValueTraits, VoidKeyComp, SizeType, ConstantTimeSize, AlgoType, Header_Holder> &x
|
||||||
, bstree_impl<ValueTraits, VoidKeyComp, SizeType, ConstantTimeSize, AlgoType> &y)
|
, bstree_impl<ValueTraits, VoidKeyComp, SizeType, ConstantTimeSize, AlgoType, Header_Holder> &y)
|
||||||
#endif
|
#endif
|
||||||
{ x.swap(y); }
|
{ x.swap(y); }
|
||||||
|
|
||||||
@@ -2019,6 +2019,8 @@ struct make_bstree
|
|||||||
|
|
||||||
typedef typename detail::get_value_traits
|
typedef typename detail::get_value_traits
|
||||||
<T, typename packed_options::proto_value_traits>::type value_traits;
|
<T, typename packed_options::proto_value_traits>::type value_traits;
|
||||||
|
typedef typename detail::get_header_holder_type
|
||||||
|
< value_traits, typename packed_options::header_holder_type >::type header_holder_type;
|
||||||
|
|
||||||
typedef bstree_impl
|
typedef bstree_impl
|
||||||
< value_traits
|
< value_traits
|
||||||
@@ -2026,6 +2028,7 @@ struct make_bstree
|
|||||||
, typename packed_options::size_type
|
, typename packed_options::size_type
|
||||||
, packed_options::constant_time_size
|
, packed_options::constant_time_size
|
||||||
, BsTreeAlgorithms
|
, BsTreeAlgorithms
|
||||||
|
, header_holder_type
|
||||||
> implementation_defined;
|
> implementation_defined;
|
||||||
/// @endcond
|
/// @endcond
|
||||||
typedef implementation_defined type;
|
typedef implementation_defined type;
|
||||||
|
@@ -60,7 +60,7 @@ struct list_defaults
|
|||||||
#if defined(BOOST_INTRUSIVE_DOXYGEN_INVOKED)
|
#if defined(BOOST_INTRUSIVE_DOXYGEN_INVOKED)
|
||||||
template<class T, class ...Options>
|
template<class T, class ...Options>
|
||||||
#else
|
#else
|
||||||
template <class ValueTraits, class SizeType, bool ConstantTimeSize>
|
template <class ValueTraits, class SizeType, bool ConstantTimeSize, typename Header_Holder>
|
||||||
#endif
|
#endif
|
||||||
class list_impl
|
class list_impl
|
||||||
{
|
{
|
||||||
@@ -1268,29 +1268,29 @@ class list_impl
|
|||||||
#if defined(BOOST_INTRUSIVE_DOXYGEN_INVOKED)
|
#if defined(BOOST_INTRUSIVE_DOXYGEN_INVOKED)
|
||||||
template<class T, class ...Options>
|
template<class T, class ...Options>
|
||||||
#else
|
#else
|
||||||
template <class ValueTraits, class SizeType, bool ConstantTimeSize>
|
template <class ValueTraits, class SizeType, bool ConstantTimeSize, typename Header_Holder>
|
||||||
#endif
|
#endif
|
||||||
inline bool operator<
|
inline bool operator<
|
||||||
#if defined(BOOST_INTRUSIVE_DOXYGEN_INVOKED)
|
#if defined(BOOST_INTRUSIVE_DOXYGEN_INVOKED)
|
||||||
(const list_impl<T, Options...> &x, const list_impl<T, Options...> &y)
|
(const list_impl<T, Options...> &x, const list_impl<T, Options...> &y)
|
||||||
#else
|
#else
|
||||||
(const list_impl<ValueTraits, SizeType, ConstantTimeSize> &x, const list_impl<ValueTraits, SizeType, ConstantTimeSize> &y)
|
(const list_impl<ValueTraits, SizeType, ConstantTimeSize, Header_Holder> &x, const list_impl<ValueTraits, SizeType, ConstantTimeSize, Header_Holder> &y)
|
||||||
#endif
|
#endif
|
||||||
{ return std::lexicographical_compare(x.begin(), x.end(), y.begin(), y.end()); }
|
{ return std::lexicographical_compare(x.begin(), x.end(), y.begin(), y.end()); }
|
||||||
|
|
||||||
#if defined(BOOST_INTRUSIVE_DOXYGEN_INVOKED)
|
#if defined(BOOST_INTRUSIVE_DOXYGEN_INVOKED)
|
||||||
template<class T, class ...Options>
|
template<class T, class ...Options>
|
||||||
#else
|
#else
|
||||||
template <class ValueTraits, class SizeType, bool ConstantTimeSize>
|
template <class ValueTraits, class SizeType, bool ConstantTimeSize, typename Header_Holder>
|
||||||
#endif
|
#endif
|
||||||
bool operator==
|
bool operator==
|
||||||
#if defined(BOOST_INTRUSIVE_DOXYGEN_INVOKED)
|
#if defined(BOOST_INTRUSIVE_DOXYGEN_INVOKED)
|
||||||
(const list_impl<T, Options...> &x, const list_impl<T, Options...> &y)
|
(const list_impl<T, Options...> &x, const list_impl<T, Options...> &y)
|
||||||
#else
|
#else
|
||||||
(const list_impl<ValueTraits, SizeType, ConstantTimeSize> &x, const list_impl<ValueTraits, SizeType, ConstantTimeSize> &y)
|
(const list_impl<ValueTraits, SizeType, ConstantTimeSize, Header_Holder> &x, const list_impl<ValueTraits, SizeType, ConstantTimeSize, Header_Holder> &y)
|
||||||
#endif
|
#endif
|
||||||
{
|
{
|
||||||
typedef list_impl<ValueTraits, SizeType, ConstantTimeSize> list_type;
|
typedef list_impl<ValueTraits, SizeType, ConstantTimeSize, Header_Holder> list_type;
|
||||||
typedef typename list_type::const_iterator const_iterator;
|
typedef typename list_type::const_iterator const_iterator;
|
||||||
const bool C = list_type::constant_time_size;
|
const bool C = list_type::constant_time_size;
|
||||||
if(C && x.size() != y.size()){
|
if(C && x.size() != y.size()){
|
||||||
@@ -1320,65 +1320,65 @@ bool operator==
|
|||||||
#if defined(BOOST_INTRUSIVE_DOXYGEN_INVOKED)
|
#if defined(BOOST_INTRUSIVE_DOXYGEN_INVOKED)
|
||||||
template<class T, class ...Options>
|
template<class T, class ...Options>
|
||||||
#else
|
#else
|
||||||
template <class ValueTraits, class SizeType, bool ConstantTimeSize>
|
template <class ValueTraits, class SizeType, bool ConstantTimeSize, typename Header_Holder>
|
||||||
#endif
|
#endif
|
||||||
inline bool operator!=
|
inline bool operator!=
|
||||||
#if defined(BOOST_INTRUSIVE_DOXYGEN_INVOKED)
|
#if defined(BOOST_INTRUSIVE_DOXYGEN_INVOKED)
|
||||||
(const list_impl<T, Options...> &x, const list_impl<T, Options...> &y)
|
(const list_impl<T, Options...> &x, const list_impl<T, Options...> &y)
|
||||||
#else
|
#else
|
||||||
(const list_impl<ValueTraits, SizeType, ConstantTimeSize> &x, const list_impl<ValueTraits, SizeType, ConstantTimeSize> &y)
|
(const list_impl<ValueTraits, SizeType, ConstantTimeSize, Header_Holder> &x, const list_impl<ValueTraits, SizeType, ConstantTimeSize, Header_Holder> &y)
|
||||||
#endif
|
#endif
|
||||||
{ return !(x == y); }
|
{ return !(x == y); }
|
||||||
|
|
||||||
#if defined(BOOST_INTRUSIVE_DOXYGEN_INVOKED)
|
#if defined(BOOST_INTRUSIVE_DOXYGEN_INVOKED)
|
||||||
template<class T, class ...Options>
|
template<class T, class ...Options>
|
||||||
#else
|
#else
|
||||||
template <class ValueTraits, class SizeType, bool ConstantTimeSize>
|
template <class ValueTraits, class SizeType, bool ConstantTimeSize, typename Header_Holder>
|
||||||
#endif
|
#endif
|
||||||
inline bool operator>
|
inline bool operator>
|
||||||
#if defined(BOOST_INTRUSIVE_DOXYGEN_INVOKED)
|
#if defined(BOOST_INTRUSIVE_DOXYGEN_INVOKED)
|
||||||
(const list_impl<T, Options...> &x, const list_impl<T, Options...> &y)
|
(const list_impl<T, Options...> &x, const list_impl<T, Options...> &y)
|
||||||
#else
|
#else
|
||||||
(const list_impl<ValueTraits, SizeType, ConstantTimeSize> &x, const list_impl<ValueTraits, SizeType, ConstantTimeSize> &y)
|
(const list_impl<ValueTraits, SizeType, ConstantTimeSize, Header_Holder> &x, const list_impl<ValueTraits, SizeType, ConstantTimeSize, Header_Holder> &y)
|
||||||
#endif
|
#endif
|
||||||
{ return y < x; }
|
{ return y < x; }
|
||||||
|
|
||||||
#if defined(BOOST_INTRUSIVE_DOXYGEN_INVOKED)
|
#if defined(BOOST_INTRUSIVE_DOXYGEN_INVOKED)
|
||||||
template<class T, class ...Options>
|
template<class T, class ...Options>
|
||||||
#else
|
#else
|
||||||
template <class ValueTraits, class SizeType, bool ConstantTimeSize>
|
template <class ValueTraits, class SizeType, bool ConstantTimeSize, typename Header_Holder>
|
||||||
#endif
|
#endif
|
||||||
inline bool operator<=
|
inline bool operator<=
|
||||||
#if defined(BOOST_INTRUSIVE_DOXYGEN_INVOKED)
|
#if defined(BOOST_INTRUSIVE_DOXYGEN_INVOKED)
|
||||||
(const list_impl<T, Options...> &x, const list_impl<T, Options...> &y)
|
(const list_impl<T, Options...> &x, const list_impl<T, Options...> &y)
|
||||||
#else
|
#else
|
||||||
(const list_impl<ValueTraits, SizeType, ConstantTimeSize> &x, const list_impl<ValueTraits, SizeType, ConstantTimeSize> &y)
|
(const list_impl<ValueTraits, SizeType, ConstantTimeSize, Header_Holder> &x, const list_impl<ValueTraits, SizeType, ConstantTimeSize, Header_Holder> &y)
|
||||||
#endif
|
#endif
|
||||||
{ return !(y < x); }
|
{ return !(y < x); }
|
||||||
|
|
||||||
#if defined(BOOST_INTRUSIVE_DOXYGEN_INVOKED)
|
#if defined(BOOST_INTRUSIVE_DOXYGEN_INVOKED)
|
||||||
template<class T, class ...Options>
|
template<class T, class ...Options>
|
||||||
#else
|
#else
|
||||||
template <class ValueTraits, class SizeType, bool ConstantTimeSize>
|
template <class ValueTraits, class SizeType, bool ConstantTimeSize, typename Header_Holder>
|
||||||
#endif
|
#endif
|
||||||
inline bool operator>=
|
inline bool operator>=
|
||||||
#if defined(BOOST_INTRUSIVE_DOXYGEN_INVOKED)
|
#if defined(BOOST_INTRUSIVE_DOXYGEN_INVOKED)
|
||||||
(const list_impl<T, Options...> &x, const list_impl<T, Options...> &y)
|
(const list_impl<T, Options...> &x, const list_impl<T, Options...> &y)
|
||||||
#else
|
#else
|
||||||
(const list_impl<ValueTraits, SizeType, ConstantTimeSize> &x, const list_impl<ValueTraits, SizeType, ConstantTimeSize> &y)
|
(const list_impl<ValueTraits, SizeType, ConstantTimeSize, Header_Holder> &x, const list_impl<ValueTraits, SizeType, ConstantTimeSize, Header_Holder> &y)
|
||||||
#endif
|
#endif
|
||||||
{ return !(x < y); }
|
{ return !(x < y); }
|
||||||
|
|
||||||
#if defined(BOOST_INTRUSIVE_DOXYGEN_INVOKED)
|
#if defined(BOOST_INTRUSIVE_DOXYGEN_INVOKED)
|
||||||
template<class T, class ...Options>
|
template<class T, class ...Options>
|
||||||
#else
|
#else
|
||||||
template <class ValueTraits, class SizeType, bool ConstantTimeSize>
|
template <class ValueTraits, class SizeType, bool ConstantTimeSize, typename Header_Holder>
|
||||||
#endif
|
#endif
|
||||||
inline void swap
|
inline void swap
|
||||||
#if defined(BOOST_INTRUSIVE_DOXYGEN_INVOKED)
|
#if defined(BOOST_INTRUSIVE_DOXYGEN_INVOKED)
|
||||||
(list_impl<T, Options...> &x, list_impl<T, Options...> &y)
|
(list_impl<T, Options...> &x, list_impl<T, Options...> &y)
|
||||||
#else
|
#else
|
||||||
(list_impl<ValueTraits, SizeType, ConstantTimeSize> &x, list_impl<ValueTraits, SizeType, ConstantTimeSize> &y)
|
(list_impl<ValueTraits, SizeType, ConstantTimeSize, Header_Holder> &x, list_impl<ValueTraits, SizeType, ConstantTimeSize, Header_Holder> &y)
|
||||||
#endif
|
#endif
|
||||||
{ x.swap(y); }
|
{ x.swap(y); }
|
||||||
|
|
||||||
@@ -1403,12 +1403,15 @@ struct make_list
|
|||||||
|
|
||||||
typedef typename detail::get_value_traits
|
typedef typename detail::get_value_traits
|
||||||
<T, typename packed_options::proto_value_traits>::type value_traits;
|
<T, typename packed_options::proto_value_traits>::type value_traits;
|
||||||
|
typedef typename detail::get_header_holder_type
|
||||||
|
< value_traits, typename packed_options::header_holder_type >::type header_holder_type;
|
||||||
|
|
||||||
typedef list_impl
|
typedef list_impl
|
||||||
<
|
<
|
||||||
value_traits,
|
value_traits,
|
||||||
typename packed_options::size_type,
|
typename packed_options::size_type,
|
||||||
packed_options::constant_time_size
|
packed_options::constant_time_size,
|
||||||
|
header_holder_type
|
||||||
> implementation_defined;
|
> implementation_defined;
|
||||||
/// @endcond
|
/// @endcond
|
||||||
typedef implementation_defined type;
|
typedef implementation_defined type;
|
||||||
|
@@ -66,18 +66,19 @@ struct rbtree_defaults
|
|||||||
#if defined(BOOST_INTRUSIVE_DOXYGEN_INVOKED)
|
#if defined(BOOST_INTRUSIVE_DOXYGEN_INVOKED)
|
||||||
template<class T, class ...Options>
|
template<class T, class ...Options>
|
||||||
#else
|
#else
|
||||||
template<class ValueTraits, class VoidOrKeyComp, class SizeType, bool ConstantTimeSize>
|
template<class ValueTraits, class VoidOrKeyComp, class SizeType, bool ConstantTimeSize, typename Header_Holder>
|
||||||
#endif
|
#endif
|
||||||
class rbtree_impl
|
class rbtree_impl
|
||||||
/// @cond
|
/// @cond
|
||||||
: public bstree_impl<ValueTraits, VoidOrKeyComp, SizeType, ConstantTimeSize, RbTreeAlgorithms>
|
: public bstree_impl<ValueTraits, VoidOrKeyComp, SizeType, ConstantTimeSize, RbTreeAlgorithms, Header_Holder>
|
||||||
/// @endcond
|
/// @endcond
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
typedef ValueTraits value_traits;
|
typedef ValueTraits value_traits;
|
||||||
/// @cond
|
/// @cond
|
||||||
typedef bstree_impl< ValueTraits, VoidOrKeyComp, SizeType
|
typedef bstree_impl< ValueTraits, VoidOrKeyComp, SizeType
|
||||||
, ConstantTimeSize, RbTreeAlgorithms> tree_type;
|
, ConstantTimeSize, RbTreeAlgorithms
|
||||||
|
, Header_Holder> tree_type;
|
||||||
typedef tree_type implementation_defined;
|
typedef tree_type implementation_defined;
|
||||||
/// @endcond
|
/// @endcond
|
||||||
|
|
||||||
@@ -444,12 +445,15 @@ struct make_rbtree
|
|||||||
|
|
||||||
typedef typename detail::get_value_traits
|
typedef typename detail::get_value_traits
|
||||||
<T, typename packed_options::proto_value_traits>::type value_traits;
|
<T, typename packed_options::proto_value_traits>::type value_traits;
|
||||||
|
typedef typename detail::get_header_holder_type
|
||||||
|
< value_traits, typename packed_options::header_holder_type >::type header_holder_type;
|
||||||
|
|
||||||
typedef rbtree_impl
|
typedef rbtree_impl
|
||||||
< value_traits
|
< value_traits
|
||||||
, typename packed_options::compare
|
, typename packed_options::compare
|
||||||
, typename packed_options::size_type
|
, typename packed_options::size_type
|
||||||
, packed_options::constant_time_size
|
, packed_options::constant_time_size
|
||||||
|
, header_holder_type
|
||||||
> implementation_defined;
|
> implementation_defined;
|
||||||
/// @endcond
|
/// @endcond
|
||||||
typedef implementation_defined type;
|
typedef implementation_defined type;
|
||||||
|
@@ -38,15 +38,15 @@ namespace intrusive {
|
|||||||
#if defined(BOOST_INTRUSIVE_DOXYGEN_INVOKED)
|
#if defined(BOOST_INTRUSIVE_DOXYGEN_INVOKED)
|
||||||
template<class T, class ...Options>
|
template<class T, class ...Options>
|
||||||
#else
|
#else
|
||||||
template<class ValueTraits, class Compare, class SizeType, bool ConstantTimeSize>
|
template<class ValueTraits, class Compare, class SizeType, bool ConstantTimeSize, typename Header_Holder>
|
||||||
#endif
|
#endif
|
||||||
class set_impl
|
class set_impl
|
||||||
#ifndef BOOST_INTRUSIVE_DOXYGEN_INVOKED
|
#ifndef BOOST_INTRUSIVE_DOXYGEN_INVOKED
|
||||||
: public bstree_impl<ValueTraits, Compare, SizeType, ConstantTimeSize, RbTreeAlgorithms>
|
: public bstree_impl<ValueTraits, Compare, SizeType, ConstantTimeSize, RbTreeAlgorithms, Header_Holder>
|
||||||
#endif
|
#endif
|
||||||
{
|
{
|
||||||
/// @cond
|
/// @cond
|
||||||
typedef bstree_impl<ValueTraits, Compare, SizeType, ConstantTimeSize, RbTreeAlgorithms> tree_type;
|
typedef bstree_impl<ValueTraits, Compare, SizeType, ConstantTimeSize, RbTreeAlgorithms, Header_Holder> tree_type;
|
||||||
BOOST_MOVABLE_BUT_NOT_COPYABLE(set_impl)
|
BOOST_MOVABLE_BUT_NOT_COPYABLE(set_impl)
|
||||||
|
|
||||||
typedef tree_type implementation_defined;
|
typedef tree_type implementation_defined;
|
||||||
@@ -414,12 +414,15 @@ struct make_set
|
|||||||
|
|
||||||
typedef typename detail::get_value_traits
|
typedef typename detail::get_value_traits
|
||||||
<T, typename packed_options::proto_value_traits>::type value_traits;
|
<T, typename packed_options::proto_value_traits>::type value_traits;
|
||||||
|
typedef typename detail::get_header_holder_type
|
||||||
|
< value_traits, typename packed_options::header_holder_type >::type header_holder_type;
|
||||||
|
|
||||||
typedef set_impl
|
typedef set_impl
|
||||||
< value_traits
|
< value_traits
|
||||||
, typename packed_options::compare
|
, typename packed_options::compare
|
||||||
, typename packed_options::size_type
|
, typename packed_options::size_type
|
||||||
, packed_options::constant_time_size
|
, packed_options::constant_time_size
|
||||||
|
, header_holder_type
|
||||||
> implementation_defined;
|
> implementation_defined;
|
||||||
/// @endcond
|
/// @endcond
|
||||||
typedef implementation_defined type;
|
typedef implementation_defined type;
|
||||||
@@ -507,15 +510,15 @@ class set
|
|||||||
#if defined(BOOST_INTRUSIVE_DOXYGEN_INVOKED)
|
#if defined(BOOST_INTRUSIVE_DOXYGEN_INVOKED)
|
||||||
template<class T, class ...Options>
|
template<class T, class ...Options>
|
||||||
#else
|
#else
|
||||||
template<class ValueTraits, class Compare, class SizeType, bool ConstantTimeSize>
|
template<class ValueTraits, class Compare, class SizeType, bool ConstantTimeSize, typename Header_Holder>
|
||||||
#endif
|
#endif
|
||||||
class multiset_impl
|
class multiset_impl
|
||||||
#ifndef BOOST_INTRUSIVE_DOXYGEN_INVOKED
|
#ifndef BOOST_INTRUSIVE_DOXYGEN_INVOKED
|
||||||
: public bstree_impl<ValueTraits, Compare, SizeType, ConstantTimeSize, RbTreeAlgorithms>
|
: public bstree_impl<ValueTraits, Compare, SizeType, ConstantTimeSize, RbTreeAlgorithms, Header_Holder>
|
||||||
#endif
|
#endif
|
||||||
{
|
{
|
||||||
/// @cond
|
/// @cond
|
||||||
typedef bstree_impl<ValueTraits, Compare, SizeType, ConstantTimeSize, RbTreeAlgorithms> tree_type;
|
typedef bstree_impl<ValueTraits, Compare, SizeType, ConstantTimeSize, RbTreeAlgorithms, Header_Holder> tree_type;
|
||||||
|
|
||||||
BOOST_MOVABLE_BUT_NOT_COPYABLE(multiset_impl)
|
BOOST_MOVABLE_BUT_NOT_COPYABLE(multiset_impl)
|
||||||
typedef tree_type implementation_defined;
|
typedef tree_type implementation_defined;
|
||||||
@@ -852,12 +855,15 @@ struct make_multiset
|
|||||||
|
|
||||||
typedef typename detail::get_value_traits
|
typedef typename detail::get_value_traits
|
||||||
<T, typename packed_options::proto_value_traits>::type value_traits;
|
<T, typename packed_options::proto_value_traits>::type value_traits;
|
||||||
|
typedef typename detail::get_header_holder_type
|
||||||
|
< value_traits, typename packed_options::header_holder_type >::type header_holder_type;
|
||||||
|
|
||||||
typedef multiset_impl
|
typedef multiset_impl
|
||||||
< value_traits
|
< value_traits
|
||||||
, typename packed_options::compare
|
, typename packed_options::compare
|
||||||
, typename packed_options::size_type
|
, typename packed_options::size_type
|
||||||
, packed_options::constant_time_size
|
, packed_options::constant_time_size
|
||||||
|
, header_holder_type
|
||||||
> implementation_defined;
|
> implementation_defined;
|
||||||
/// @endcond
|
/// @endcond
|
||||||
typedef implementation_defined type;
|
typedef implementation_defined type;
|
||||||
|
@@ -36,15 +36,15 @@ namespace intrusive {
|
|||||||
#if defined(BOOST_INTRUSIVE_DOXYGEN_INVOKED)
|
#if defined(BOOST_INTRUSIVE_DOXYGEN_INVOKED)
|
||||||
template<class T, class ...Options>
|
template<class T, class ...Options>
|
||||||
#else
|
#else
|
||||||
template<class ValueTraits, class Compare, class SizeType, bool FloatingPoint>
|
template<class ValueTraits, class Compare, class SizeType, bool FloatingPoint, typename Header_Holder>
|
||||||
#endif
|
#endif
|
||||||
class sg_set_impl
|
class sg_set_impl
|
||||||
#ifndef BOOST_INTRUSIVE_DOXYGEN_INVOKED
|
#ifndef BOOST_INTRUSIVE_DOXYGEN_INVOKED
|
||||||
: public sgtree_impl<ValueTraits, Compare, SizeType, FloatingPoint>
|
: public sgtree_impl<ValueTraits, Compare, SizeType, FloatingPoint, Header_Holder>
|
||||||
#endif
|
#endif
|
||||||
{
|
{
|
||||||
/// @cond
|
/// @cond
|
||||||
typedef sgtree_impl<ValueTraits, Compare, SizeType, FloatingPoint> tree_type;
|
typedef sgtree_impl<ValueTraits, Compare, SizeType, FloatingPoint, Header_Holder> tree_type;
|
||||||
BOOST_MOVABLE_BUT_NOT_COPYABLE(sg_set_impl)
|
BOOST_MOVABLE_BUT_NOT_COPYABLE(sg_set_impl)
|
||||||
|
|
||||||
typedef tree_type implementation_defined;
|
typedef tree_type implementation_defined;
|
||||||
@@ -425,12 +425,15 @@ struct make_sg_set
|
|||||||
|
|
||||||
typedef typename detail::get_value_traits
|
typedef typename detail::get_value_traits
|
||||||
<T, typename packed_options::proto_value_traits>::type value_traits;
|
<T, typename packed_options::proto_value_traits>::type value_traits;
|
||||||
|
typedef typename detail::get_header_holder_type
|
||||||
|
< value_traits, typename packed_options::header_holder_type >::type header_holder_type;
|
||||||
|
|
||||||
typedef sg_set_impl
|
typedef sg_set_impl
|
||||||
< value_traits
|
< value_traits
|
||||||
, typename packed_options::compare
|
, typename packed_options::compare
|
||||||
, typename packed_options::size_type
|
, typename packed_options::size_type
|
||||||
, packed_options::floating_point
|
, packed_options::floating_point
|
||||||
|
, header_holder_type
|
||||||
> implementation_defined;
|
> implementation_defined;
|
||||||
/// @endcond
|
/// @endcond
|
||||||
typedef implementation_defined type;
|
typedef implementation_defined type;
|
||||||
@@ -518,15 +521,15 @@ class sg_set
|
|||||||
#if defined(BOOST_INTRUSIVE_DOXYGEN_INVOKED)
|
#if defined(BOOST_INTRUSIVE_DOXYGEN_INVOKED)
|
||||||
template<class T, class ...Options>
|
template<class T, class ...Options>
|
||||||
#else
|
#else
|
||||||
template<class ValueTraits, class Compare, class SizeType, bool FloatingPoint>
|
template<class ValueTraits, class Compare, class SizeType, bool FloatingPoint, typename Header_Holder>
|
||||||
#endif
|
#endif
|
||||||
class sg_multiset_impl
|
class sg_multiset_impl
|
||||||
#ifndef BOOST_INTRUSIVE_DOXYGEN_INVOKED
|
#ifndef BOOST_INTRUSIVE_DOXYGEN_INVOKED
|
||||||
: public sgtree_impl<ValueTraits, Compare, SizeType, FloatingPoint>
|
: public sgtree_impl<ValueTraits, Compare, SizeType, FloatingPoint, Header_Holder>
|
||||||
#endif
|
#endif
|
||||||
{
|
{
|
||||||
/// @cond
|
/// @cond
|
||||||
typedef sgtree_impl<ValueTraits, Compare, SizeType, FloatingPoint> tree_type;
|
typedef sgtree_impl<ValueTraits, Compare, SizeType, FloatingPoint, Header_Holder> tree_type;
|
||||||
|
|
||||||
BOOST_MOVABLE_BUT_NOT_COPYABLE(sg_multiset_impl)
|
BOOST_MOVABLE_BUT_NOT_COPYABLE(sg_multiset_impl)
|
||||||
typedef tree_type implementation_defined;
|
typedef tree_type implementation_defined;
|
||||||
@@ -876,12 +879,15 @@ struct make_sg_multiset
|
|||||||
|
|
||||||
typedef typename detail::get_value_traits
|
typedef typename detail::get_value_traits
|
||||||
<T, typename packed_options::proto_value_traits>::type value_traits;
|
<T, typename packed_options::proto_value_traits>::type value_traits;
|
||||||
|
typedef typename detail::get_header_holder_type
|
||||||
|
< value_traits, typename packed_options::header_holder_type >::type header_holder_type;
|
||||||
|
|
||||||
typedef sg_multiset_impl
|
typedef sg_multiset_impl
|
||||||
< value_traits
|
< value_traits
|
||||||
, typename packed_options::compare
|
, typename packed_options::compare
|
||||||
, typename packed_options::size_type
|
, typename packed_options::size_type
|
||||||
, packed_options::floating_point
|
, packed_options::floating_point
|
||||||
|
, header_holder_type
|
||||||
> implementation_defined;
|
> implementation_defined;
|
||||||
/// @endcond
|
/// @endcond
|
||||||
typedef implementation_defined type;
|
typedef implementation_defined type;
|
||||||
|
@@ -213,11 +213,11 @@ struct sgtree_defaults
|
|||||||
#if defined(BOOST_INTRUSIVE_DOXYGEN_INVOKED)
|
#if defined(BOOST_INTRUSIVE_DOXYGEN_INVOKED)
|
||||||
template<class T, class ...Options>
|
template<class T, class ...Options>
|
||||||
#else
|
#else
|
||||||
template<class ValueTraits, class VoidOrKeyComp, class SizeType, bool FloatingPoint>
|
template<class ValueTraits, class VoidOrKeyComp, class SizeType, bool FloatingPoint, typename Header_Holder>
|
||||||
#endif
|
#endif
|
||||||
class sgtree_impl
|
class sgtree_impl
|
||||||
/// @cond
|
/// @cond
|
||||||
: public bstree_impl<ValueTraits, VoidOrKeyComp, SizeType, true, SgTreeAlgorithms>
|
: public bstree_impl<ValueTraits, VoidOrKeyComp, SizeType, true, SgTreeAlgorithms, Header_Holder>
|
||||||
, public detail::alpha_holder<FloatingPoint, SizeType>
|
, public detail::alpha_holder<FloatingPoint, SizeType>
|
||||||
/// @endcond
|
/// @endcond
|
||||||
{
|
{
|
||||||
@@ -225,7 +225,7 @@ class sgtree_impl
|
|||||||
typedef ValueTraits value_traits;
|
typedef ValueTraits value_traits;
|
||||||
/// @cond
|
/// @cond
|
||||||
typedef bstree_impl< ValueTraits, VoidOrKeyComp, SizeType
|
typedef bstree_impl< ValueTraits, VoidOrKeyComp, SizeType
|
||||||
, true, SgTreeAlgorithms> tree_type;
|
, true, SgTreeAlgorithms, Header_Holder> tree_type;
|
||||||
typedef tree_type implementation_defined;
|
typedef tree_type implementation_defined;
|
||||||
|
|
||||||
/// @endcond
|
/// @endcond
|
||||||
@@ -890,12 +890,15 @@ struct make_sgtree
|
|||||||
|
|
||||||
typedef typename detail::get_value_traits
|
typedef typename detail::get_value_traits
|
||||||
<T, typename packed_options::proto_value_traits>::type value_traits;
|
<T, typename packed_options::proto_value_traits>::type value_traits;
|
||||||
|
typedef typename detail::get_header_holder_type
|
||||||
|
< value_traits, typename packed_options::header_holder_type >::type header_holder_type;
|
||||||
|
|
||||||
typedef sgtree_impl
|
typedef sgtree_impl
|
||||||
< value_traits
|
< value_traits
|
||||||
, typename packed_options::compare
|
, typename packed_options::compare
|
||||||
, typename packed_options::size_type
|
, typename packed_options::size_type
|
||||||
, packed_options::floating_point
|
, packed_options::floating_point
|
||||||
|
, header_holder_type
|
||||||
> implementation_defined;
|
> implementation_defined;
|
||||||
/// @endcond
|
/// @endcond
|
||||||
typedef implementation_defined type;
|
typedef implementation_defined type;
|
||||||
|
@@ -96,7 +96,7 @@ struct slist_bool_flags
|
|||||||
#if defined(BOOST_INTRUSIVE_DOXYGEN_INVOKED)
|
#if defined(BOOST_INTRUSIVE_DOXYGEN_INVOKED)
|
||||||
template<class T, class ...Options>
|
template<class T, class ...Options>
|
||||||
#else
|
#else
|
||||||
template<class ValueTraits, class SizeType, std::size_t BoolFlags>
|
template<class ValueTraits, class SizeType, std::size_t BoolFlags, typename Header_Holder>
|
||||||
#endif
|
#endif
|
||||||
class slist_impl
|
class slist_impl
|
||||||
{
|
{
|
||||||
@@ -1972,31 +1972,31 @@ class slist_impl
|
|||||||
#if defined(BOOST_INTRUSIVE_DOXYGEN_INVOKED)
|
#if defined(BOOST_INTRUSIVE_DOXYGEN_INVOKED)
|
||||||
template<class T, class ...Options>
|
template<class T, class ...Options>
|
||||||
#else
|
#else
|
||||||
template<class ValueTraits, class SizeType, std::size_t BoolFlags>
|
template<class ValueTraits, class SizeType, std::size_t BoolFlags, typename Header_Holder>
|
||||||
#endif
|
#endif
|
||||||
inline bool operator<
|
inline bool operator<
|
||||||
#if defined(BOOST_INTRUSIVE_DOXYGEN_INVOKED)
|
#if defined(BOOST_INTRUSIVE_DOXYGEN_INVOKED)
|
||||||
(const slist_impl<T, Options...> &x, const slist_impl<T, Options...> &y)
|
(const slist_impl<T, Options...> &x, const slist_impl<T, Options...> &y)
|
||||||
#else
|
#else
|
||||||
( const slist_impl<ValueTraits, SizeType, BoolFlags> &x
|
( const slist_impl<ValueTraits, SizeType, BoolFlags, Header_Holder> &x
|
||||||
, const slist_impl<ValueTraits, SizeType, BoolFlags> &y)
|
, const slist_impl<ValueTraits, SizeType, BoolFlags, Header_Holder> &y)
|
||||||
#endif
|
#endif
|
||||||
{ return std::lexicographical_compare(x.begin(), x.end(), y.begin(), y.end()); }
|
{ return std::lexicographical_compare(x.begin(), x.end(), y.begin(), y.end()); }
|
||||||
|
|
||||||
#if defined(BOOST_INTRUSIVE_DOXYGEN_INVOKED)
|
#if defined(BOOST_INTRUSIVE_DOXYGEN_INVOKED)
|
||||||
template<class T, class ...Options>
|
template<class T, class ...Options>
|
||||||
#else
|
#else
|
||||||
template<class ValueTraits, class SizeType, std::size_t BoolFlags>
|
template<class ValueTraits, class SizeType, std::size_t BoolFlags, typename Header_Holder>
|
||||||
#endif
|
#endif
|
||||||
bool operator==
|
bool operator==
|
||||||
#if defined(BOOST_INTRUSIVE_DOXYGEN_INVOKED)
|
#if defined(BOOST_INTRUSIVE_DOXYGEN_INVOKED)
|
||||||
(const slist_impl<T, Options...> &x, const slist_impl<T, Options...> &y)
|
(const slist_impl<T, Options...> &x, const slist_impl<T, Options...> &y)
|
||||||
#else
|
#else
|
||||||
( const slist_impl<ValueTraits, SizeType, BoolFlags> &x
|
( const slist_impl<ValueTraits, SizeType, BoolFlags, Header_Holder> &x
|
||||||
, const slist_impl<ValueTraits, SizeType, BoolFlags> &y)
|
, const slist_impl<ValueTraits, SizeType, BoolFlags, Header_Holder> &y)
|
||||||
#endif
|
#endif
|
||||||
{
|
{
|
||||||
typedef slist_impl<ValueTraits, SizeType, BoolFlags> slist_type;
|
typedef slist_impl<ValueTraits, SizeType, BoolFlags, Header_Holder> slist_type;
|
||||||
typedef typename slist_type::const_iterator const_iterator;
|
typedef typename slist_type::const_iterator const_iterator;
|
||||||
const bool C = slist_type::constant_time_size;
|
const bool C = slist_type::constant_time_size;
|
||||||
if(C && x.size() != y.size()){
|
if(C && x.size() != y.size()){
|
||||||
@@ -2026,70 +2026,70 @@ bool operator==
|
|||||||
#if defined(BOOST_INTRUSIVE_DOXYGEN_INVOKED)
|
#if defined(BOOST_INTRUSIVE_DOXYGEN_INVOKED)
|
||||||
template<class T, class ...Options>
|
template<class T, class ...Options>
|
||||||
#else
|
#else
|
||||||
template<class ValueTraits, class SizeType, std::size_t BoolFlags>
|
template<class ValueTraits, class SizeType, std::size_t BoolFlags, typename Header_Holder>
|
||||||
#endif
|
#endif
|
||||||
inline bool operator!=
|
inline bool operator!=
|
||||||
#if defined(BOOST_INTRUSIVE_DOXYGEN_INVOKED)
|
#if defined(BOOST_INTRUSIVE_DOXYGEN_INVOKED)
|
||||||
(const slist_impl<T, Options...> &x, const slist_impl<T, Options...> &y)
|
(const slist_impl<T, Options...> &x, const slist_impl<T, Options...> &y)
|
||||||
#else
|
#else
|
||||||
( const slist_impl<ValueTraits, SizeType, BoolFlags> &x
|
( const slist_impl<ValueTraits, SizeType, BoolFlags, Header_Holder> &x
|
||||||
, const slist_impl<ValueTraits, SizeType, BoolFlags> &y)
|
, const slist_impl<ValueTraits, SizeType, BoolFlags, Header_Holder> &y)
|
||||||
#endif
|
#endif
|
||||||
{ return !(x == y); }
|
{ return !(x == y); }
|
||||||
|
|
||||||
#if defined(BOOST_INTRUSIVE_DOXYGEN_INVOKED)
|
#if defined(BOOST_INTRUSIVE_DOXYGEN_INVOKED)
|
||||||
template<class T, class ...Options>
|
template<class T, class ...Options>
|
||||||
#else
|
#else
|
||||||
template<class ValueTraits, class SizeType, std::size_t BoolFlags>
|
template<class ValueTraits, class SizeType, std::size_t BoolFlags, typename Header_Holder>
|
||||||
#endif
|
#endif
|
||||||
inline bool operator>
|
inline bool operator>
|
||||||
#if defined(BOOST_INTRUSIVE_DOXYGEN_INVOKED)
|
#if defined(BOOST_INTRUSIVE_DOXYGEN_INVOKED)
|
||||||
(const slist_impl<T, Options...> &x, const slist_impl<T, Options...> &y)
|
(const slist_impl<T, Options...> &x, const slist_impl<T, Options...> &y)
|
||||||
#else
|
#else
|
||||||
( const slist_impl<ValueTraits, SizeType, BoolFlags> &x
|
( const slist_impl<ValueTraits, SizeType, BoolFlags, Header_Holder> &x
|
||||||
, const slist_impl<ValueTraits, SizeType, BoolFlags> &y)
|
, const slist_impl<ValueTraits, SizeType, BoolFlags, Header_Holder> &y)
|
||||||
#endif
|
#endif
|
||||||
{ return y < x; }
|
{ return y < x; }
|
||||||
|
|
||||||
#if defined(BOOST_INTRUSIVE_DOXYGEN_INVOKED)
|
#if defined(BOOST_INTRUSIVE_DOXYGEN_INVOKED)
|
||||||
template<class T, class ...Options>
|
template<class T, class ...Options>
|
||||||
#else
|
#else
|
||||||
template<class ValueTraits, class SizeType, std::size_t BoolFlags>
|
template<class ValueTraits, class SizeType, std::size_t BoolFlags, typename Header_Holder>
|
||||||
#endif
|
#endif
|
||||||
inline bool operator<=
|
inline bool operator<=
|
||||||
#if defined(BOOST_INTRUSIVE_DOXYGEN_INVOKED)
|
#if defined(BOOST_INTRUSIVE_DOXYGEN_INVOKED)
|
||||||
(const slist_impl<T, Options...> &x, const slist_impl<T, Options...> &y)
|
(const slist_impl<T, Options...> &x, const slist_impl<T, Options...> &y)
|
||||||
#else
|
#else
|
||||||
( const slist_impl<ValueTraits, SizeType, BoolFlags> &x
|
( const slist_impl<ValueTraits, SizeType, BoolFlags, Header_Holder> &x
|
||||||
, const slist_impl<ValueTraits, SizeType, BoolFlags> &y)
|
, const slist_impl<ValueTraits, SizeType, BoolFlags, Header_Holder> &y)
|
||||||
#endif
|
#endif
|
||||||
{ return !(y < x); }
|
{ return !(y < x); }
|
||||||
|
|
||||||
#if defined(BOOST_INTRUSIVE_DOXYGEN_INVOKED)
|
#if defined(BOOST_INTRUSIVE_DOXYGEN_INVOKED)
|
||||||
template<class T, class ...Options>
|
template<class T, class ...Options>
|
||||||
#else
|
#else
|
||||||
template<class ValueTraits, class SizeType, std::size_t BoolFlags>
|
template<class ValueTraits, class SizeType, std::size_t BoolFlags, typename Header_Holder>
|
||||||
#endif
|
#endif
|
||||||
inline bool operator>=
|
inline bool operator>=
|
||||||
#if defined(BOOST_INTRUSIVE_DOXYGEN_INVOKED)
|
#if defined(BOOST_INTRUSIVE_DOXYGEN_INVOKED)
|
||||||
(const slist_impl<T, Options...> &x, const slist_impl<T, Options...> &y)
|
(const slist_impl<T, Options...> &x, const slist_impl<T, Options...> &y)
|
||||||
#else
|
#else
|
||||||
( const slist_impl<ValueTraits, SizeType, BoolFlags> &x
|
( const slist_impl<ValueTraits, SizeType, BoolFlags, Header_Holder> &x
|
||||||
, const slist_impl<ValueTraits, SizeType, BoolFlags> &y)
|
, const slist_impl<ValueTraits, SizeType, BoolFlags, Header_Holder> &y)
|
||||||
#endif
|
#endif
|
||||||
{ return !(x < y); }
|
{ return !(x < y); }
|
||||||
|
|
||||||
#if defined(BOOST_INTRUSIVE_DOXYGEN_INVOKED)
|
#if defined(BOOST_INTRUSIVE_DOXYGEN_INVOKED)
|
||||||
template<class T, class ...Options>
|
template<class T, class ...Options>
|
||||||
#else
|
#else
|
||||||
template<class ValueTraits, class SizeType, std::size_t BoolFlags>
|
template<class ValueTraits, class SizeType, std::size_t BoolFlags, typename Header_Holder>
|
||||||
#endif
|
#endif
|
||||||
inline void swap
|
inline void swap
|
||||||
#if defined(BOOST_INTRUSIVE_DOXYGEN_INVOKED)
|
#if defined(BOOST_INTRUSIVE_DOXYGEN_INVOKED)
|
||||||
(slist_impl<T, Options...> &x, slist_impl<T, Options...> &y)
|
(slist_impl<T, Options...> &x, slist_impl<T, Options...> &y)
|
||||||
#else
|
#else
|
||||||
( slist_impl<ValueTraits, SizeType, BoolFlags> &x
|
( slist_impl<ValueTraits, SizeType, BoolFlags, Header_Holder> &x
|
||||||
, slist_impl<ValueTraits, SizeType, BoolFlags> &y)
|
, slist_impl<ValueTraits, SizeType, BoolFlags, Header_Holder> &y)
|
||||||
#endif
|
#endif
|
||||||
{ x.swap(y); }
|
{ x.swap(y); }
|
||||||
|
|
||||||
@@ -2113,12 +2113,15 @@ struct make_slist
|
|||||||
>::type packed_options;
|
>::type packed_options;
|
||||||
typedef typename detail::get_value_traits
|
typedef typename detail::get_value_traits
|
||||||
<T, typename packed_options::proto_value_traits>::type value_traits;
|
<T, typename packed_options::proto_value_traits>::type value_traits;
|
||||||
|
typedef typename detail::get_header_holder_type
|
||||||
|
< value_traits, typename packed_options::header_holder_type >::type header_holder_type;
|
||||||
typedef slist_impl
|
typedef slist_impl
|
||||||
< value_traits
|
< value_traits
|
||||||
, typename packed_options::size_type
|
, typename packed_options::size_type
|
||||||
, (std::size_t(packed_options::linear)*slist_bool_flags::linear_pos)
|
, (std::size_t(packed_options::linear)*slist_bool_flags::linear_pos)
|
||||||
|(std::size_t(packed_options::constant_time_size)*slist_bool_flags::constant_time_size_pos)
|
|(std::size_t(packed_options::constant_time_size)*slist_bool_flags::constant_time_size_pos)
|
||||||
|(std::size_t(packed_options::cache_last)*slist_bool_flags::cache_last_pos)
|
|(std::size_t(packed_options::cache_last)*slist_bool_flags::cache_last_pos)
|
||||||
|
, header_holder_type
|
||||||
> implementation_defined;
|
> implementation_defined;
|
||||||
/// @endcond
|
/// @endcond
|
||||||
typedef implementation_defined type;
|
typedef implementation_defined type;
|
||||||
|
@@ -36,15 +36,15 @@ namespace intrusive {
|
|||||||
#if defined(BOOST_INTRUSIVE_DOXYGEN_INVOKED)
|
#if defined(BOOST_INTRUSIVE_DOXYGEN_INVOKED)
|
||||||
template<class T, class ...Options>
|
template<class T, class ...Options>
|
||||||
#else
|
#else
|
||||||
template<class ValueTraits, class Compare, class SizeType, bool ConstantTimeSize>
|
template<class ValueTraits, class Compare, class SizeType, bool ConstantTimeSize, typename Header_Holder>
|
||||||
#endif
|
#endif
|
||||||
class splay_set_impl
|
class splay_set_impl
|
||||||
#ifndef BOOST_INTRUSIVE_DOXYGEN_INVOKED
|
#ifndef BOOST_INTRUSIVE_DOXYGEN_INVOKED
|
||||||
: public splaytree_impl<ValueTraits, Compare, SizeType, ConstantTimeSize>
|
: public splaytree_impl<ValueTraits, Compare, SizeType, ConstantTimeSize, Header_Holder>
|
||||||
#endif
|
#endif
|
||||||
{
|
{
|
||||||
/// @cond
|
/// @cond
|
||||||
typedef splaytree_impl<ValueTraits, Compare, SizeType, ConstantTimeSize> tree_type;
|
typedef splaytree_impl<ValueTraits, Compare, SizeType, ConstantTimeSize, Header_Holder> tree_type;
|
||||||
BOOST_MOVABLE_BUT_NOT_COPYABLE(splay_set_impl)
|
BOOST_MOVABLE_BUT_NOT_COPYABLE(splay_set_impl)
|
||||||
|
|
||||||
typedef tree_type implementation_defined;
|
typedef tree_type implementation_defined;
|
||||||
@@ -435,12 +435,15 @@ struct make_splay_set
|
|||||||
|
|
||||||
typedef typename detail::get_value_traits
|
typedef typename detail::get_value_traits
|
||||||
<T, typename packed_options::proto_value_traits>::type value_traits;
|
<T, typename packed_options::proto_value_traits>::type value_traits;
|
||||||
|
typedef typename detail::get_header_holder_type
|
||||||
|
< value_traits, typename packed_options::header_holder_type >::type header_holder_type;
|
||||||
|
|
||||||
typedef splay_set_impl
|
typedef splay_set_impl
|
||||||
< value_traits
|
< value_traits
|
||||||
, typename packed_options::compare
|
, typename packed_options::compare
|
||||||
, typename packed_options::size_type
|
, typename packed_options::size_type
|
||||||
, packed_options::constant_time_size
|
, packed_options::constant_time_size
|
||||||
|
, header_holder_type
|
||||||
> implementation_defined;
|
> implementation_defined;
|
||||||
/// @endcond
|
/// @endcond
|
||||||
typedef implementation_defined type;
|
typedef implementation_defined type;
|
||||||
@@ -528,15 +531,15 @@ class splay_set
|
|||||||
#if defined(BOOST_INTRUSIVE_DOXYGEN_INVOKED)
|
#if defined(BOOST_INTRUSIVE_DOXYGEN_INVOKED)
|
||||||
template<class T, class ...Options>
|
template<class T, class ...Options>
|
||||||
#else
|
#else
|
||||||
template<class ValueTraits, class Compare, class SizeType, bool ConstantTimeSize>
|
template<class ValueTraits, class Compare, class SizeType, bool ConstantTimeSize, typename Header_Holder>
|
||||||
#endif
|
#endif
|
||||||
class splay_multiset_impl
|
class splay_multiset_impl
|
||||||
#ifndef BOOST_INTRUSIVE_DOXYGEN_INVOKED
|
#ifndef BOOST_INTRUSIVE_DOXYGEN_INVOKED
|
||||||
: public splaytree_impl<ValueTraits, Compare, SizeType, ConstantTimeSize>
|
: public splaytree_impl<ValueTraits, Compare, SizeType, ConstantTimeSize, Header_Holder>
|
||||||
#endif
|
#endif
|
||||||
{
|
{
|
||||||
/// @cond
|
/// @cond
|
||||||
typedef splaytree_impl<ValueTraits, Compare, SizeType, ConstantTimeSize> tree_type;
|
typedef splaytree_impl<ValueTraits, Compare, SizeType, ConstantTimeSize, Header_Holder> tree_type;
|
||||||
|
|
||||||
BOOST_MOVABLE_BUT_NOT_COPYABLE(splay_multiset_impl)
|
BOOST_MOVABLE_BUT_NOT_COPYABLE(splay_multiset_impl)
|
||||||
typedef tree_type implementation_defined;
|
typedef tree_type implementation_defined;
|
||||||
@@ -889,12 +892,15 @@ struct make_splay_multiset
|
|||||||
|
|
||||||
typedef typename detail::get_value_traits
|
typedef typename detail::get_value_traits
|
||||||
<T, typename packed_options::proto_value_traits>::type value_traits;
|
<T, typename packed_options::proto_value_traits>::type value_traits;
|
||||||
|
typedef typename detail::get_header_holder_type
|
||||||
|
< value_traits, typename packed_options::header_holder_type >::type header_holder_type;
|
||||||
|
|
||||||
typedef splay_multiset_impl
|
typedef splay_multiset_impl
|
||||||
< value_traits
|
< value_traits
|
||||||
, typename packed_options::compare
|
, typename packed_options::compare
|
||||||
, typename packed_options::size_type
|
, typename packed_options::size_type
|
||||||
, packed_options::constant_time_size
|
, packed_options::constant_time_size
|
||||||
|
, header_holder_type
|
||||||
> implementation_defined;
|
> implementation_defined;
|
||||||
/// @endcond
|
/// @endcond
|
||||||
typedef implementation_defined type;
|
typedef implementation_defined type;
|
||||||
|
@@ -65,18 +65,19 @@ struct splaytree_defaults
|
|||||||
#if defined(BOOST_INTRUSIVE_DOXYGEN_INVOKED)
|
#if defined(BOOST_INTRUSIVE_DOXYGEN_INVOKED)
|
||||||
template<class T, class ...Options>
|
template<class T, class ...Options>
|
||||||
#else
|
#else
|
||||||
template<class ValueTraits, class VoidOrKeyComp, class SizeType, bool ConstantTimeSize>
|
template<class ValueTraits, class VoidOrKeyComp, class SizeType, bool ConstantTimeSize, typename Header_Holder>
|
||||||
#endif
|
#endif
|
||||||
class splaytree_impl
|
class splaytree_impl
|
||||||
/// @cond
|
/// @cond
|
||||||
: public bstree_impl<ValueTraits, VoidOrKeyComp, SizeType, ConstantTimeSize, SplayTreeAlgorithms>
|
: public bstree_impl<ValueTraits, VoidOrKeyComp, SizeType, ConstantTimeSize, SplayTreeAlgorithms, Header_Holder>
|
||||||
/// @endcond
|
/// @endcond
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
typedef ValueTraits value_traits;
|
typedef ValueTraits value_traits;
|
||||||
/// @cond
|
/// @cond
|
||||||
typedef bstree_impl< ValueTraits, VoidOrKeyComp, SizeType
|
typedef bstree_impl< ValueTraits, VoidOrKeyComp, SizeType
|
||||||
, ConstantTimeSize, SplayTreeAlgorithms> tree_type;
|
, ConstantTimeSize, SplayTreeAlgorithms
|
||||||
|
, Header_Holder> tree_type;
|
||||||
typedef tree_type implementation_defined;
|
typedef tree_type implementation_defined;
|
||||||
/// @endcond
|
/// @endcond
|
||||||
|
|
||||||
@@ -531,12 +532,15 @@ struct make_splaytree
|
|||||||
|
|
||||||
typedef typename detail::get_value_traits
|
typedef typename detail::get_value_traits
|
||||||
<T, typename packed_options::proto_value_traits>::type value_traits;
|
<T, typename packed_options::proto_value_traits>::type value_traits;
|
||||||
|
typedef typename detail::get_header_holder_type
|
||||||
|
< value_traits, typename packed_options::header_holder_type >::type header_holder_type;
|
||||||
|
|
||||||
typedef splaytree_impl
|
typedef splaytree_impl
|
||||||
< value_traits
|
< value_traits
|
||||||
, typename packed_options::compare
|
, typename packed_options::compare
|
||||||
, typename packed_options::size_type
|
, typename packed_options::size_type
|
||||||
, packed_options::constant_time_size
|
, packed_options::constant_time_size
|
||||||
|
, header_holder_type
|
||||||
> implementation_defined;
|
> implementation_defined;
|
||||||
/// @endcond
|
/// @endcond
|
||||||
typedef implementation_defined type;
|
typedef implementation_defined type;
|
||||||
|
@@ -69,16 +69,16 @@ struct treap_defaults
|
|||||||
#if defined(BOOST_INTRUSIVE_DOXYGEN_INVOKED)
|
#if defined(BOOST_INTRUSIVE_DOXYGEN_INVOKED)
|
||||||
template<class T, class ...Options>
|
template<class T, class ...Options>
|
||||||
#else
|
#else
|
||||||
template<class ValueTraits, class VoidOrKeyComp, class VoidOrPrioComp, class SizeType, bool ConstantTimeSize>
|
template<class ValueTraits, class VoidOrKeyComp, class VoidOrPrioComp, class SizeType, bool ConstantTimeSize, typename Header_Holder>
|
||||||
#endif
|
#endif
|
||||||
class treap_impl
|
class treap_impl
|
||||||
/// @cond
|
/// @cond
|
||||||
: public bstree_impl<ValueTraits, VoidOrKeyComp, SizeType, ConstantTimeSize, BsTreeAlgorithms>
|
: public bstree_impl<ValueTraits, VoidOrKeyComp, SizeType, ConstantTimeSize, BsTreeAlgorithms, Header_Holder>
|
||||||
, public detail::ebo_functor_holder
|
, public detail::ebo_functor_holder
|
||||||
< typename get_prio
|
< typename get_prio
|
||||||
< VoidOrPrioComp
|
< VoidOrPrioComp
|
||||||
, typename bstree_impl
|
, typename bstree_impl
|
||||||
<ValueTraits, VoidOrKeyComp, SizeType, ConstantTimeSize, BsTreeAlgorithms>::value_type>::type
|
<ValueTraits, VoidOrKeyComp, SizeType, ConstantTimeSize, BsTreeAlgorithms, Header_Holder>::value_type>::type
|
||||||
>
|
>
|
||||||
/// @endcond
|
/// @endcond
|
||||||
{
|
{
|
||||||
@@ -86,7 +86,8 @@ class treap_impl
|
|||||||
typedef ValueTraits value_traits;
|
typedef ValueTraits value_traits;
|
||||||
/// @cond
|
/// @cond
|
||||||
typedef bstree_impl< ValueTraits, VoidOrKeyComp, SizeType
|
typedef bstree_impl< ValueTraits, VoidOrKeyComp, SizeType
|
||||||
, ConstantTimeSize, BsTreeAlgorithms> tree_type;
|
, ConstantTimeSize, BsTreeAlgorithms
|
||||||
|
, Header_Holder> tree_type;
|
||||||
typedef tree_type implementation_defined;
|
typedef tree_type implementation_defined;
|
||||||
typedef get_prio
|
typedef get_prio
|
||||||
< VoidOrPrioComp
|
< VoidOrPrioComp
|
||||||
@@ -1079,6 +1080,8 @@ struct make_treap
|
|||||||
|
|
||||||
typedef typename detail::get_value_traits
|
typedef typename detail::get_value_traits
|
||||||
<T, typename packed_options::proto_value_traits>::type value_traits;
|
<T, typename packed_options::proto_value_traits>::type value_traits;
|
||||||
|
typedef typename detail::get_header_holder_type
|
||||||
|
< value_traits, typename packed_options::header_holder_type >::type header_holder_type;
|
||||||
|
|
||||||
typedef treap_impl
|
typedef treap_impl
|
||||||
< value_traits
|
< value_traits
|
||||||
@@ -1086,6 +1089,7 @@ struct make_treap
|
|||||||
, typename packed_options::priority
|
, typename packed_options::priority
|
||||||
, typename packed_options::size_type
|
, typename packed_options::size_type
|
||||||
, packed_options::constant_time_size
|
, packed_options::constant_time_size
|
||||||
|
, header_holder_type
|
||||||
> implementation_defined;
|
> implementation_defined;
|
||||||
/// @endcond
|
/// @endcond
|
||||||
typedef implementation_defined type;
|
typedef implementation_defined type;
|
||||||
|
@@ -36,16 +36,16 @@ namespace intrusive {
|
|||||||
#if defined(BOOST_INTRUSIVE_DOXYGEN_INVOKED)
|
#if defined(BOOST_INTRUSIVE_DOXYGEN_INVOKED)
|
||||||
template<class T, class ...Options>
|
template<class T, class ...Options>
|
||||||
#else
|
#else
|
||||||
template<class ValueTraits, class VoidOrKeyComp, class VoidOrPrioComp, class SizeType, bool ConstantTimeSize>
|
template<class ValueTraits, class VoidOrKeyComp, class VoidOrPrioComp, class SizeType, bool ConstantTimeSize, typename Header_Holder>
|
||||||
#endif
|
#endif
|
||||||
class treap_set_impl
|
class treap_set_impl
|
||||||
#ifndef BOOST_INTRUSIVE_DOXYGEN_INVOKED
|
#ifndef BOOST_INTRUSIVE_DOXYGEN_INVOKED
|
||||||
: public treap_impl<ValueTraits, VoidOrKeyComp, VoidOrPrioComp, SizeType, ConstantTimeSize>
|
: public treap_impl<ValueTraits, VoidOrKeyComp, VoidOrPrioComp, SizeType, ConstantTimeSize, Header_Holder>
|
||||||
#endif
|
#endif
|
||||||
{
|
{
|
||||||
/// @cond
|
/// @cond
|
||||||
public:
|
public:
|
||||||
typedef treap_impl<ValueTraits, VoidOrKeyComp, VoidOrPrioComp, SizeType, ConstantTimeSize> tree_type;
|
typedef treap_impl<ValueTraits, VoidOrKeyComp, VoidOrPrioComp, SizeType, ConstantTimeSize, Header_Holder> tree_type;
|
||||||
BOOST_MOVABLE_BUT_NOT_COPYABLE(treap_set_impl)
|
BOOST_MOVABLE_BUT_NOT_COPYABLE(treap_set_impl)
|
||||||
|
|
||||||
typedef tree_type implementation_defined;
|
typedef tree_type implementation_defined;
|
||||||
@@ -439,6 +439,8 @@ struct make_treap_set
|
|||||||
|
|
||||||
typedef typename detail::get_value_traits
|
typedef typename detail::get_value_traits
|
||||||
<T, typename packed_options::proto_value_traits>::type value_traits;
|
<T, typename packed_options::proto_value_traits>::type value_traits;
|
||||||
|
typedef typename detail::get_header_holder_type
|
||||||
|
< value_traits, typename packed_options::header_holder_type >::type header_holder_type;
|
||||||
|
|
||||||
typedef treap_set_impl
|
typedef treap_set_impl
|
||||||
< value_traits
|
< value_traits
|
||||||
@@ -446,6 +448,7 @@ struct make_treap_set
|
|||||||
, typename packed_options::priority
|
, typename packed_options::priority
|
||||||
, typename packed_options::size_type
|
, typename packed_options::size_type
|
||||||
, packed_options::constant_time_size
|
, packed_options::constant_time_size
|
||||||
|
, header_holder_type
|
||||||
> implementation_defined;
|
> implementation_defined;
|
||||||
/// @endcond
|
/// @endcond
|
||||||
typedef implementation_defined type;
|
typedef implementation_defined type;
|
||||||
@@ -537,15 +540,15 @@ class treap_set
|
|||||||
#if defined(BOOST_INTRUSIVE_DOXYGEN_INVOKED)
|
#if defined(BOOST_INTRUSIVE_DOXYGEN_INVOKED)
|
||||||
template<class T, class ...Options>
|
template<class T, class ...Options>
|
||||||
#else
|
#else
|
||||||
template<class ValueTraits, class VoidOrKeyComp, class VoidOrPrioComp, class SizeType, bool ConstantTimeSize>
|
template<class ValueTraits, class VoidOrKeyComp, class VoidOrPrioComp, class SizeType, bool ConstantTimeSize, typename Header_Holder>
|
||||||
#endif
|
#endif
|
||||||
class treap_multiset_impl
|
class treap_multiset_impl
|
||||||
#ifndef BOOST_INTRUSIVE_DOXYGEN_INVOKED
|
#ifndef BOOST_INTRUSIVE_DOXYGEN_INVOKED
|
||||||
: public treap_impl<ValueTraits, VoidOrKeyComp, VoidOrPrioComp, SizeType, ConstantTimeSize>
|
: public treap_impl<ValueTraits, VoidOrKeyComp, VoidOrPrioComp, SizeType, ConstantTimeSize, Header_Holder>
|
||||||
#endif
|
#endif
|
||||||
{
|
{
|
||||||
/// @cond
|
/// @cond
|
||||||
typedef treap_impl<ValueTraits, VoidOrKeyComp, VoidOrPrioComp, SizeType, ConstantTimeSize> tree_type;
|
typedef treap_impl<ValueTraits, VoidOrKeyComp, VoidOrPrioComp, SizeType, ConstantTimeSize, Header_Holder> tree_type;
|
||||||
BOOST_MOVABLE_BUT_NOT_COPYABLE(treap_multiset_impl)
|
BOOST_MOVABLE_BUT_NOT_COPYABLE(treap_multiset_impl)
|
||||||
|
|
||||||
typedef tree_type implementation_defined;
|
typedef tree_type implementation_defined;
|
||||||
@@ -906,6 +909,8 @@ struct make_treap_multiset
|
|||||||
|
|
||||||
typedef typename detail::get_value_traits
|
typedef typename detail::get_value_traits
|
||||||
<T, typename packed_options::proto_value_traits>::type value_traits;
|
<T, typename packed_options::proto_value_traits>::type value_traits;
|
||||||
|
typedef typename detail::get_header_holder_type
|
||||||
|
< value_traits, typename packed_options::header_holder_type >::type header_holder_type;
|
||||||
|
|
||||||
typedef treap_multiset_impl
|
typedef treap_multiset_impl
|
||||||
< value_traits
|
< value_traits
|
||||||
@@ -913,6 +918,7 @@ struct make_treap_multiset
|
|||||||
, typename packed_options::priority
|
, typename packed_options::priority
|
||||||
, typename packed_options::size_type
|
, typename packed_options::size_type
|
||||||
, packed_options::constant_time_size
|
, packed_options::constant_time_size
|
||||||
|
, header_holder_type
|
||||||
> implementation_defined;
|
> implementation_defined;
|
||||||
/// @endcond
|
/// @endcond
|
||||||
typedef implementation_defined type;
|
typedef implementation_defined type;
|
||||||
|
Reference in New Issue
Block a user