diff options
Diffstat (limited to 'src/boost/libs/parameter/test/maybe.cpp')
-rw-r--r-- | src/boost/libs/parameter/test/maybe.cpp | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/src/boost/libs/parameter/test/maybe.cpp b/src/boost/libs/parameter/test/maybe.cpp new file mode 100644 index 000000000..bb00a9b7e --- /dev/null +++ b/src/boost/libs/parameter/test/maybe.cpp @@ -0,0 +1,43 @@ +// Copyright Daniel Wallin 2006. +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) + +#include <boost/parameter/name.hpp> + +namespace test { + + BOOST_PARAMETER_NAME(kw) + BOOST_PARAMETER_NAME(unused) + + template <typename Args> + int f(Args const& args) + { + return args[test::_kw | 1.f]; + } +} // namespace test + +#include <boost/parameter/aux_/maybe.hpp> +#include <boost/core/lightweight_test.hpp> + +int main() +{ + BOOST_TEST_EQ(0, test::f((test::_kw = 0, test::_unused = 0))); + BOOST_TEST_EQ(1, test::f(test::_unused = 0)); + BOOST_TEST_EQ( + 1 + , test::f(( + test::_kw = boost::parameter::aux::maybe<int>() + , test::_unused = 0 + )) + ); + BOOST_TEST_EQ( + 2 + , test::f(( + test::_kw = boost::parameter::aux::maybe<int>(2) + , test::_unused = 0 + )) + ); + return boost::report_errors(); +} + |