From 744a4558b546d9eb5e7a13ea51a671e81dd5e2bb Mon Sep 17 00:00:00 2001 From: Aleksey Gurtovoy Date: Thu, 12 Dec 2002 22:29:12 +0000 Subject: [PATCH] add 'fold' test case [SVN r16599] --- test/fold.cpp | 39 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) create mode 100644 test/fold.cpp diff --git a/test/fold.cpp b/test/fold.cpp new file mode 100644 index 0000000..d9b4bbd --- /dev/null +++ b/test/fold.cpp @@ -0,0 +1,39 @@ +//----------------------------------------------------------------------------- +// boost mpl/test/fold.cpp source file +// See http://www.boost.org for updates, documentation, and revision history. +//----------------------------------------------------------------------------- +// +// Copyright (c) 2000-02 +// Aleksey Gurtovoy +// +// 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/fold.hpp" +#include "boost/mpl/vector.hpp" +#include "boost/mpl/next.hpp" +#include "boost/mpl/if.hpp" +#include "boost/mpl/integral_c.hpp" +#include "boost/type_traits/is_float.hpp" +#include "boost/static_assert.hpp" + +using namespace boost::mpl; + +int main() +{ + typedef vector types; + typedef fold< + types + , integral_c + , if_< boost::is_float<_2>,next<_1>,_1 > + >::type number_of_floats; + + BOOST_STATIC_ASSERT(number_of_floats::value == 4); + + return 0; +}