mirror of
https://github.com/boostorg/container.git
synced 2025-08-02 14:04:26 +02:00
Use explicit instantiation for iterators defined outside the class in order to detect compilation errors.
[SVN r82815]
This commit is contained in:
@@ -116,6 +116,9 @@ template class flat_multiset
|
||||
, std::allocator<test::movable_and_copyable_int>
|
||||
>;
|
||||
|
||||
//As flat container iterators are typedefs for vector::[const_]iterator,
|
||||
//no need to explicit instantiate them
|
||||
|
||||
}} //boost::container
|
||||
|
||||
|
||||
|
@@ -32,6 +32,15 @@ template class boost::container::list<test::movable_and_copyable_int,
|
||||
template class boost::container::list<test::movable_and_copyable_int,
|
||||
std::allocator<test::movable_and_copyable_int> >;
|
||||
|
||||
namespace container_detail {
|
||||
|
||||
template class list_const_iterator
|
||||
<int, intrusive_list_type< std::allocator<int> >::container_type::iterator >;
|
||||
template class list_iterator
|
||||
<int, intrusive_list_type< std::allocator<int> >::container_type::iterator>;
|
||||
|
||||
}
|
||||
|
||||
}}
|
||||
|
||||
typedef list<int> MyList;
|
||||
|
@@ -30,6 +30,16 @@ template class boost::container::slist<test::movable_and_copyable_int,
|
||||
|
||||
template class boost::container::slist<test::movable_and_copyable_int,
|
||||
std::allocator<test::movable_and_copyable_int> >;
|
||||
|
||||
namespace container_detail {
|
||||
|
||||
template class slist_const_iterator
|
||||
<int, intrusive_slist_type< std::allocator<int> >::container_type::iterator >;
|
||||
template class slist_iterator
|
||||
<int, intrusive_slist_type< std::allocator<int> >::container_type::iterator>;
|
||||
|
||||
}
|
||||
|
||||
}}
|
||||
|
||||
typedef slist<int> MyList;
|
||||
|
@@ -39,6 +39,13 @@ template class stable_vector<test::movable_and_copyable_int,
|
||||
template class stable_vector<test::movable_and_copyable_int,
|
||||
std::allocator<test::movable_and_copyable_int> >;
|
||||
|
||||
namespace stable_vector_detail{
|
||||
|
||||
template class iterator< int, int &, int *>;
|
||||
template class iterator< int, const int &, const int *>;
|
||||
|
||||
}
|
||||
|
||||
}}
|
||||
|
||||
class recursive_vector
|
||||
|
@@ -39,6 +39,13 @@ template class boost::container::vector<test::movable_and_copyable_int,
|
||||
template class boost::container::vector<test::movable_and_copyable_int,
|
||||
std::allocator<test::movable_and_copyable_int> >;
|
||||
|
||||
namespace container_detail {
|
||||
|
||||
template class vector_const_iterator<int*>;
|
||||
template class vector_iterator<int*>;
|
||||
|
||||
}
|
||||
|
||||
}}
|
||||
|
||||
int test_expand_bwd()
|
||||
|
Reference in New Issue
Block a user