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#include <climits>
7
8#include BOOST_TYPEOF_INCREMENT_REGISTRATION_GROUP()
9
10struct x;
11BOOST_TYPEOF_REGISTER_TYPE(x)
12
13template<
14 class T, char c, unsigned short us, int i, unsigned long ul,
15 bool b1, bool b2, signed char sc, unsigned u>
16 struct Tpl
17{};
18
19BOOST_TYPEOF_REGISTER_TEMPLATE(Tpl,
20 (class)
21 (char)
22 (unsigned short)
23 (int)
24 (unsigned long)
25 (bool)
26 (bool)
27 (signed char)
28 (unsigned)
29 )
30
31BOOST_STATIC_ASSERT((boost::type_of::test<Tpl<int, 5, 4, -3, 2, true, false, -1, 5> >::value));
32BOOST_STATIC_ASSERT((boost::type_of::test<Tpl<int, 1, 1, 0, ULONG_MAX, false, true, -1, 0> >::value));
33

source code of boost/libs/typeof/test/template_int.cpp