Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

source: downloads/boost_1_34_1/libs/python/test/string_literal.cpp @ 29

Last change on this file since 29 was 29, checked in by landauf, 17 years ago

updated boost from 1_33_1 to 1_34_1

File size: 1.6 KB
Line 
1// Copyright David Abrahams 2004. Distributed under the Boost
2// Software License, Version 1.0. (See accompanying
3// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
4#include <boost/python/detail/string_literal.hpp>
5//#include <stdio.h>
6
7#include <boost/detail/lightweight_test.hpp>
8#include <boost/static_assert.hpp>
9
10using namespace boost::python::detail;
11   
12
13template <class T>
14void expect_string_literal(T const&)
15{
16    BOOST_STATIC_ASSERT(is_string_literal<T const>::value);
17}
18
19int main()
20{
21    expect_string_literal("hello");
22    BOOST_STATIC_ASSERT(!is_string_literal<int*&>::value);
23    BOOST_STATIC_ASSERT(!is_string_literal<int* const&>::value);
24    BOOST_STATIC_ASSERT(!is_string_literal<int*volatile&>::value);
25    BOOST_STATIC_ASSERT(!is_string_literal<int*const volatile&>::value);
26   
27    BOOST_STATIC_ASSERT(!is_string_literal<char const*>::value);
28    BOOST_STATIC_ASSERT(!is_string_literal<char*>::value);
29    BOOST_STATIC_ASSERT(!is_string_literal<char*&>::value);
30    BOOST_STATIC_ASSERT(!is_string_literal<char* const&>::value);
31    BOOST_STATIC_ASSERT(!is_string_literal<char*volatile&>::value);
32    BOOST_STATIC_ASSERT(!is_string_literal<char*const volatile&>::value);
33   
34    BOOST_STATIC_ASSERT(!is_string_literal<char[20]>::value);
35    BOOST_STATIC_ASSERT(is_string_literal<char const[20]>::value);
36    BOOST_STATIC_ASSERT(is_string_literal<char const[3]>::value);
37
38    BOOST_STATIC_ASSERT(!is_string_literal<int[20]>::value);
39    BOOST_STATIC_ASSERT(!is_string_literal<int const[20]>::value);
40    BOOST_STATIC_ASSERT(!is_string_literal<int const[3]>::value);
41    return boost::report_errors();
42}
Note: See TracBrowser for help on using the repository browser.