Merge from trunk

[SVN r39594]
This commit is contained in:
Nicola Musatti
2007-09-29 14:51:39 +00:00
parent d2c6a52631
commit 6c8378110f
17 changed files with 647 additions and 576 deletions
+3
View File
@@ -14,3 +14,6 @@ BOOST_STATIC_ASSERT(boost::type_of::test<x[20]>::value);
BOOST_STATIC_ASSERT(boost::type_of::test<const x>::value);
BOOST_STATIC_ASSERT(boost::type_of::test<volatile x>::value);
BOOST_STATIC_ASSERT(boost::type_of::test<volatile const x>::value);
BOOST_STATIC_ASSERT(boost::type_of::test<const x&>::value);
BOOST_STATIC_ASSERT(boost::type_of::test<const x*>::value);
+7 -6
View File
@@ -8,23 +8,24 @@
#include <boost/typeof/typeof.hpp>
#include <boost/type_traits/is_same.hpp>
#include <boost/static_assert.hpp>
#include <boost/mpl/size_t.hpp>
namespace boost { namespace type_of {
template<class T, class U>
template<class T, class U>
struct test_wrapper{};
template<class T>
template<class T>
T test_make(T*);
template<class T>
template<class T>
struct test
{
enum {value = boost::is_same<
BOOST_STATIC_CONSTANT(std::size_t,value = (boost::is_same<
BOOST_TYPEOF_TPL(test_make((test_wrapper<T, int>*)0)),
test_wrapper<T, int>
>::value
};
>::value)
);
};
}}