Added test: index_of

[SVN r20622]
This commit is contained in:
Eric Friedman
2003-11-04 01:38:26 +00:00
parent 67c98297b6
commit e513af9490
2 changed files with 40 additions and 0 deletions

View File

@@ -36,6 +36,7 @@ unit-test for_each : for_each.cpp : <sysinclude>$(BOOST_ROOT) ;
compile front.cpp ;
compile identity.cpp ;
compile if.cpp ;
compile index_of.cpp ;
compile inherit.cpp ;
compile insert.cpp ;
compile insert_range.cpp ;

39
test/index_of.cpp Normal file
View File

@@ -0,0 +1,39 @@
//-----------------------------------------------------------------------------
// libs mpl/test/index_of.cpp source file
// See http://www.boost.org for updates, documentation, and revision history.
//-----------------------------------------------------------------------------
//
// Copyright (c) 2003
// Eric Friedman
//
// Permission to use, copy, modify, distribute and sell this software
// and its documentation for any purpose is hereby granted without fee,
// provided that the above copyright notice appears in all copies and
// that both the copyright notice and this permission notice appear in
// supporting documentation. No representations are made about the
// suitability of this software for any purpose. It is provided "as is"
// without express or implied warranty.
#include "boost/mpl/index_of.hpp"
#include "boost/static_assert.hpp"
#include "boost/mpl/list.hpp"
namespace mpl = boost::mpl;
int test_main(int , char* [])
{
typedef mpl::list< int, double, float >::type types;
typedef mpl::index_of< types, int >::type index_of_int;
typedef mpl::index_of< types, double >::type index_of_double;
typedef mpl::index_of< types, float >::type index_of_float;
typedef mpl::index_of< types, char >::type index_of_char;
BOOST_STATIC_ASSERT( index_of_int::value == 0 );
BOOST_STATIC_ASSERT( index_of_double::value == 1 );
BOOST_STATIC_ASSERT( index_of_float::value == 2 );
BOOST_STATIC_ASSERT( index_of_char::value == -1 ); // 'not found'
return 0;
}