1 //////////////////////////////////////////////////////////////////////////////
2 //
3 // (C) Copyright Ion Gaztanaga 2015-2015. Distributed under the Boost
4 // Software License, Version 1.0. (See accompanying file
5 // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
6 //
7 // See http://www.boost.org/libs/container for documentation.
8 //
9 //////////////////////////////////////////////////////////////////////////////
10 
11 #include <boost/container/small_vector.hpp>
12 
13 struct empty
14 {
operator ==(const empty &,const empty &)15    friend bool operator == (const empty &, const empty &){ return true; }
operator <(const empty &,const empty &)16    friend bool operator <  (const empty &, const empty &){ return true; }
17 };
18 
19 template class ::boost::container::small_vector<empty, 2>;
20 volatile ::boost::container::small_vector<empty, 2> dummy;
21 
22 #include <boost/container/allocator.hpp>
23 #include "movable_int.hpp"
24 #include "dummy_test_allocator.hpp"
25 
26 namespace boost {
27 namespace container {
28 
29 template class small_vector<char, 0>;
30 template class small_vector<char, 1>;
31 template class small_vector<char, 2>;
32 template class small_vector<char, 10>;
33 
34 template class small_vector<int, 0>;
35 template class small_vector<int, 1>;
36 template class small_vector<int, 2>;
37 template class small_vector<int, 10>;
38 
39 //Explicit instantiation to detect compilation errors
40 template class boost::container::small_vector
41    < test::movable_and_copyable_int
42    , 10
43    , test::simple_allocator<test::movable_and_copyable_int> >;
44 
45 template class boost::container::small_vector
46    < test::movable_and_copyable_int
47    , 10
48    , allocator<test::movable_and_copyable_int> >;
49 
50 }}
51 
52 
main()53 int main()
54 {
55    return 0;
56 }
57