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
+3
-35
@@ -1,6 +1,6 @@
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// (C) Copyright Ion Gaztanaga 2007-2012
|
||||
// (C) Copyright Ion Gaztanaga 2007-2013
|
||||
//
|
||||
// Distributed under the Boost Software License, Version 1.0.
|
||||
// (See accompanying file LICENSE_1_0.txt or copy at
|
||||
@@ -27,12 +27,6 @@ struct is_unordered
|
||||
static const bool value = false;
|
||||
};
|
||||
|
||||
template<class T>
|
||||
struct has_const_overloads
|
||||
{
|
||||
static const bool value = true;
|
||||
};
|
||||
|
||||
template< class Container >
|
||||
void test_container( Container & c )
|
||||
{
|
||||
@@ -290,7 +284,7 @@ void test_common_unordered_and_associative_container(Container & c, Data & d)
|
||||
}
|
||||
|
||||
template< class Container, class Data >
|
||||
void test_associative_container_invariants(Container & c, Data & d, boost::intrusive::detail::true_type)
|
||||
void test_associative_container_invariants(Container & c, Data & d)
|
||||
{
|
||||
typedef typename Container::const_iterator const_iterator;
|
||||
for( typename Data::const_iterator di = d.begin(), de = d.end();
|
||||
@@ -316,19 +310,6 @@ void test_associative_container_invariants(Container & c, Data & d, boost::intru
|
||||
}
|
||||
}
|
||||
|
||||
template< class Container, class Data >
|
||||
void test_associative_container_invariants(Container &, Data &, boost::intrusive::detail::false_type)
|
||||
{}
|
||||
|
||||
template< class Container, class Data >
|
||||
void test_associative_container_invariants(Container & c, Data & d)
|
||||
{
|
||||
using namespace boost::intrusive;
|
||||
typedef typename detail::remove_const<Container>::type Type;
|
||||
typedef detail::bool_<has_const_overloads<Type>::value> enabler;
|
||||
test_associative_container_invariants(c, d, enabler());
|
||||
}
|
||||
|
||||
template< class Container, class Data >
|
||||
void test_associative_container(Container & c, Data & d)
|
||||
{
|
||||
@@ -346,7 +327,7 @@ void test_associative_container(Container & c, Data & d)
|
||||
}
|
||||
|
||||
template< class Container, class Data >
|
||||
void test_unordered_associative_container_invariants(Container & c, Data & d, boost::intrusive::detail::true_type)
|
||||
void test_unordered_associative_container_invariants(Container & c, Data & d)
|
||||
{
|
||||
typedef typename Container::size_type size_type;
|
||||
typedef typename Container::const_iterator const_iterator;
|
||||
@@ -380,19 +361,6 @@ void test_unordered_associative_container_invariants(Container & c, Data & d, bo
|
||||
BOOST_TEST( total_objects == c.size() );
|
||||
}
|
||||
|
||||
template< class Container, class Data >
|
||||
void test_unordered_associative_container_invariants(Container &, Data &, boost::intrusive::detail::false_type)
|
||||
{}
|
||||
|
||||
template< class Container, class Data >
|
||||
void test_unordered_associative_container_invariants(Container & c, Data & d)
|
||||
{
|
||||
using namespace boost::intrusive;
|
||||
typedef typename detail::remove_const<Container>::type Type;
|
||||
typedef detail::bool_<has_const_overloads<Type>::value> enabler;
|
||||
test_unordered_associative_container_invariants(c, d, enabler());
|
||||
}
|
||||
|
||||
template< class Container, class Data >
|
||||
void test_unordered_associative_container(Container & c, Data & d)
|
||||
{
|
||||
|
||||
Reference in new issue
Block a user