1
2 // Copyright 2005-2009 Daniel James.
3 // Distributed under the Boost Software License, Version 1.0. (See accompanying
4 // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
5
6 #include <boost/detail/container_fwd.hpp>
7
8 #if BOOST_WORKAROUND(__GNUC__, < 3) && \
9 !defined(__SGI_STL_PORT) && !defined(_STLPORT_VERSION)
10 template <class charT, class Allocator>
test(std::basic_string<charT,std::string_char_traits<charT>,Allocator> const &)11 static void test(
12 std::basic_string<charT, std::string_char_traits<charT>, Allocator> const&)
13 {
14 }
15 #else
16 template <class charT, class Allocator>
test(std::basic_string<charT,std::char_traits<charT>,Allocator> const &)17 static void test(
18 std::basic_string<charT, std::char_traits<charT>, Allocator> const&)
19 {
20 }
21 #endif
22
23 template <class T, class Allocator>
test(std::deque<T,Allocator> const &)24 static void test(std::deque<T, Allocator> const&)
25 {
26 }
27
28 template <class T, class Allocator>
test(std::list<T,Allocator> const &)29 static void test(std::list<T, Allocator> const&)
30 {
31 }
32
33 template <class T, class Allocator>
test(std::vector<T,Allocator> const &)34 static void test(std::vector<T, Allocator> const&)
35 {
36 }
37
38 template <class Key, class T, class Compare, class Allocator>
test(std::map<Key,T,Compare,Allocator> const &)39 static void test(std::map<Key, T, Compare, Allocator> const&)
40 {
41 }
42
43 template <class Key, class T, class Compare, class Allocator>
test(std::multimap<Key,T,Compare,Allocator> const &)44 static void test(std::multimap<Key, T, Compare, Allocator> const&)
45 {
46 }
47
48 template <class Key, class Compare, class Allocator>
test(std::set<Key,Compare,Allocator> const &)49 static void test(std::set<Key, Compare, Allocator> const&)
50 {
51 }
52
53 template <class Key, class Compare, class Allocator>
test(std::multiset<Key,Compare,Allocator> const &)54 static void test(std::multiset<Key, Compare, Allocator> const&)
55 {
56 }
57
58 template <std::size_t N>
test(std::bitset<N> const &)59 static void test(std::bitset<N> const&)
60 {
61 }
62
63 template <class T>
test(std::complex<T> const &)64 static void test(std::complex<T> const&)
65 {
66 }
67
68 template <class X, class Y>
test(std::pair<X,Y> const &)69 static void test(std::pair<X, Y> const&)
70 {
71 }
72
73 #include <deque>
74 #include <list>
75 #include <vector>
76 #include <map>
77 #include <set>
78 #include <bitset>
79 #include <string>
80 #include <complex>
81 #include <utility>
82
main()83 int main()
84 {
85 std::deque<int> x1;
86 std::list<std::string> x2;
87 std::vector<float> x3;
88 std::vector<bool> x4;
89 std::map<int, int> x5;
90 std::multimap<float, int*> x6;
91 std::set<std::string> x7;
92 std::multiset<std::vector<int> > x8;
93 std::bitset<10> x9;
94 std::string x10;
95 std::complex<double> x11;
96 std::pair<std::list<int>, char***> x12;
97
98 test(x1);
99 test(x2);
100 test(x3);
101 test(x4);
102 test(x5);
103 test(x6);
104 test(x7);
105 test(x8);
106 test(x9);
107 test(x10);
108 test(x11);
109 test(x12);
110
111 return 0;
112 }
113