]> git.proxmox.com Git - ceph.git/blob - ceph/src/boost/libs/typeof/test/std.cpp
add subtree-ish sources for 12.0.3
[ceph.git] / ceph / src / boost / libs / typeof / test / std.cpp
1 // Copyright (C) 2006 Arkadiy Vertleyb
2 // Use, modification and distribution is subject to the Boost Software
3 // License, Version 1.0. (http://www.boost.org/LICENSE_1_0.txt)
4
5 #include "test.hpp"
6
7 #include <boost/typeof/std/string.hpp>
8 #include <boost/typeof/std/deque.hpp>
9 #include <boost/typeof/std/list.hpp>
10 #include <boost/typeof/std/queue.hpp>
11 #include <boost/typeof/std/stack.hpp>
12 #include <boost/typeof/std/vector.hpp>
13 #include <boost/typeof/std/map.hpp>
14 #include <boost/typeof/std/set.hpp>
15 #include <boost/typeof/std/bitset.hpp>
16 #include <boost/typeof/std/functional.hpp>
17 #include <boost/typeof/std/valarray.hpp>
18 #include <boost/typeof/std/locale.hpp>
19 #include <boost/typeof/std/iostream.hpp>
20 #include <boost/typeof/std/streambuf.hpp>
21 #include <boost/typeof/std/istream.hpp>
22 #include <boost/typeof/std/ostream.hpp>
23 #include <boost/typeof/std/sstream.hpp>
24 #include <boost/typeof/std/fstream.hpp>
25 #include <boost/typeof/std/iterator.hpp>
26
27 using namespace std;
28
29 // STL containers
30
31 BOOST_STATIC_ASSERT(boost::type_of::test<string>::value);
32 BOOST_STATIC_ASSERT(boost::type_of::test<deque<int> >::value);
33 BOOST_STATIC_ASSERT(boost::type_of::test<list<int> >::value);
34 BOOST_STATIC_ASSERT(boost::type_of::test<queue<int> >::value);
35 BOOST_STATIC_ASSERT(boost::type_of::test<stack<int> >::value);
36 BOOST_STATIC_ASSERT(boost::type_of::test<vector<int> >::value);
37 BOOST_STATIC_ASSERT((boost::type_of::test<map<int, int> >::value));
38 BOOST_STATIC_ASSERT((boost::type_of::test<multimap<int, int> >::value));
39 BOOST_STATIC_ASSERT(boost::type_of::test<set<int> >::value);
40 BOOST_STATIC_ASSERT(boost::type_of::test<multiset<int> >::value);
41 BOOST_STATIC_ASSERT(boost::type_of::test<bitset<10> >::value);
42
43 // function objects
44
45 BOOST_STATIC_ASSERT((boost::type_of::test<unary_function<int, int> >::value));
46 BOOST_STATIC_ASSERT((boost::type_of::test<binary_function<int, int, int> >::value));
47 BOOST_STATIC_ASSERT(boost::type_of::test<plus<int> >::value);
48 BOOST_STATIC_ASSERT(boost::type_of::test<minus<int> >::value);
49 BOOST_STATIC_ASSERT(boost::type_of::test<multiplies<int> >::value);
50 BOOST_STATIC_ASSERT(boost::type_of::test<divides<int> >::value);
51 BOOST_STATIC_ASSERT(boost::type_of::test<modulus<int> >::value);
52 BOOST_STATIC_ASSERT(boost::type_of::test<negate<int> >::value);
53 BOOST_STATIC_ASSERT(boost::type_of::test<equal_to<int> >::value);
54 BOOST_STATIC_ASSERT(boost::type_of::test<not_equal_to<int> >::value);
55 BOOST_STATIC_ASSERT(boost::type_of::test<greater<int> >::value);
56 BOOST_STATIC_ASSERT(boost::type_of::test<less<int> >::value);
57 BOOST_STATIC_ASSERT(boost::type_of::test<greater_equal<int> >::value);
58 BOOST_STATIC_ASSERT(boost::type_of::test<less_equal<int> >::value);
59 BOOST_STATIC_ASSERT(boost::type_of::test<logical_and<int> >::value);
60 BOOST_STATIC_ASSERT(boost::type_of::test<logical_or<int> >::value);
61 BOOST_STATIC_ASSERT(boost::type_of::test<logical_not<int> >::value);
62 BOOST_STATIC_ASSERT(boost::type_of::test<unary_negate<negate<int> > >::value);
63 BOOST_STATIC_ASSERT(boost::type_of::test<binary_negate<less<int> > >::value);
64 BOOST_STATIC_ASSERT(boost::type_of::test<binder1st<less<int> > >::value);
65 BOOST_STATIC_ASSERT(boost::type_of::test<binder2nd<less<int> > >::value);
66
67 // valarray
68
69 BOOST_STATIC_ASSERT(boost::type_of::test<valarray<int> >::value);