// $Id$
//
-// Copyright (C) 2008
+// Copyright (C) 2008
// Fraunhofer Institute for Open Communication Systems (FOKUS)
// Competence Center NETwork research (NET), St. Augustin, GERMANY
// Stefan Bund <g0dil@berlios.de>
#include <boost/test/test_tools.hpp>
#define prefix_
-///////////////////////////////cc.p////////////////////////////////////////
+//-/////////////////////////////////////////////////////////////////////////////////////////////////
namespace {
- struct Class {};
+ struct Class;
}
-BOOST_AUTO_UNIT_TEST(typeTraits)
+SENF_AUTO_UNIT_TEST(typeTraits)
{
typedef boost::function_traits<void (int, double)> traits;
- BOOST_STATIC_ASSERT(( boost::is_same<
- senf::function_traits_remove_arg< traits >::type,
- boost::function_traits<void (double)>
+ BOOST_STATIC_ASSERT(( boost::is_same<
+ senf::function_traits_remove_arg< traits >::type,
+ boost::function_traits<void (double)>
>::value ));
BOOST_STATIC_ASSERT(( boost::is_same<
void
>::value ));
- BOOST_STATIC_ASSERT(( boost::is_same<
- senf::remove_member_pointer< int (Class::*) >::type,
- int
+ BOOST_STATIC_ASSERT(( boost::is_same<
+ senf::remove_member_pointer< Class (Class::*) >::type,
+ Class
>::value ));
- BOOST_STATIC_ASSERT(( boost::is_same<
- senf::remove_member_pointer< void (Class::*)(int) >::type,
+ BOOST_STATIC_ASSERT(( boost::is_same<
+ senf::remove_member_pointer< Class const (Class::*) >::type,
+ Class const
+ >::value ));
+ BOOST_STATIC_ASSERT(( boost::is_same<
+ senf::remove_member_pointer< Class (Class::*)(int) >::type,
+ Class (int)
+ >::value ));
+ BOOST_STATIC_ASSERT(( boost::is_same<
+ senf::remove_member_pointer< Class const (Class::*)(int) >::type,
+ Class const (int)
+ >::value ));
+ BOOST_STATIC_ASSERT(( boost::is_same<
+ senf::remove_member_pointer< void (Class::*)(int) const>::type,
+ void (int)
+ >::value ));
+ BOOST_STATIC_ASSERT(( boost::is_same<
+ senf::remove_member_pointer< Class const (Class::*)(int) const>::type,
+ Class const (int)
+ >::value ));
+ BOOST_STATIC_ASSERT(( boost::is_same<
+ senf::remove_member_pointer< void (Class::* const)(int)>::type,
+ void (int)
+ >::value ));
+ BOOST_STATIC_ASSERT(( boost::is_same<
+ senf::remove_member_pointer< void (Class::* const)(int) const>::type,
void (int)
>::value ));
void
>::value ));
- BOOST_STATIC_ASSERT(( boost::is_same<
- senf::remove_any_pointer< int (Class::*) >::type,
+ BOOST_STATIC_ASSERT(( boost::is_same<
+ senf::remove_any_pointer< int (Class::*) >::type,
int
>::value ));
- BOOST_STATIC_ASSERT(( boost::is_same<
- senf::remove_any_pointer< void (Class::*)(int) >::type,
+ BOOST_STATIC_ASSERT(( boost::is_same<
+ senf::remove_any_pointer< void (Class::*)(int) >::type,
void (int)
>::value ));
BOOST_STATIC_ASSERT(( boost::is_same<
BOOST_STATIC_ASSERT(( senf::is_any_function< void () >::value ));
BOOST_STATIC_ASSERT(( senf::is_any_function< void (*)(int) >::value ));
BOOST_STATIC_ASSERT(( senf::is_any_function< void (Class::*)() >::value ));
+ BOOST_STATIC_ASSERT(( senf::is_any_function< void (Class::*)() const >::value ));
BOOST_STATIC_ASSERT(( ! senf::is_any_function< int * >::value ));
BOOST_STATIC_ASSERT(( boost::is_same<
BOOST_STATIC_ASSERT(( senf::is_pair< std::pair<int,void*> >::value ));
BOOST_STATIC_ASSERT(( ! senf::is_pair< void () >::value ));
+
+ BOOST_CHECK( true );
}
-///////////////////////////////cc.e////////////////////////////////////////
+//-/////////////////////////////////////////////////////////////////////////////////////////////////
#undef prefix_
\f