]>
git.proxmox.com Git - ceph.git/blob - ceph/src/boost/libs/typeof/test/function_ptr.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)
7 BOOST_STATIC_ASSERT(boost::type_of::test
<double(*)()>::value
);
8 BOOST_STATIC_ASSERT(boost::type_of::test
<double(*)(int, double, short, char*, bool, char, float, long, unsigned short)>::value
);
9 BOOST_STATIC_ASSERT(boost::type_of::test
<void(*)()>::value
);
10 BOOST_STATIC_ASSERT(boost::type_of::test
<void(*)(int, double, short, char*, bool, char, float, long, unsigned short)>::value
);
11 BOOST_STATIC_ASSERT(boost::type_of::test
<void(*)(...)>::value
);
12 BOOST_STATIC_ASSERT(boost::type_of::test
<void(*)(int, double, short, char*, bool, char, float, long, unsigned short, ...)>::value
);
14 // check that const gets stripped from function pointer
18 typedef int(*PTR1
)(double);
19 typedef int(*PTR2
)(...);
20 typedef const PTR1 CPTR1
;
21 typedef const PTR2 CPTR2
;
25 BOOST_STATIC_ASSERT((boost::is_same
<BOOST_TYPEOF(cptr1
), PTR1
>::value
));
26 BOOST_STATIC_ASSERT((boost::is_same
<BOOST_TYPEOF(cptr2
), PTR2
>::value
));