diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-27 18:24:20 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-27 18:24:20 +0000 |
commit | 483eb2f56657e8e7f419ab1a4fab8dce9ade8609 (patch) | |
tree | e5d88d25d870d5dedacb6bbdbe2a966086a0a5cf /src/boost/libs/parameter/test/macros.cpp | |
parent | Initial commit. (diff) | |
download | ceph-483eb2f56657e8e7f419ab1a4fab8dce9ade8609.tar.xz ceph-483eb2f56657e8e7f419ab1a4fab8dce9ade8609.zip |
Adding upstream version 14.2.21.upstream/14.2.21upstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'src/boost/libs/parameter/test/macros.cpp')
-rw-r--r-- | src/boost/libs/parameter/test/macros.cpp | 68 |
1 files changed, 68 insertions, 0 deletions
diff --git a/src/boost/libs/parameter/test/macros.cpp b/src/boost/libs/parameter/test/macros.cpp new file mode 100644 index 00000000..97026bbe --- /dev/null +++ b/src/boost/libs/parameter/test/macros.cpp @@ -0,0 +1,68 @@ +// Copyright David Abrahams, Daniel Wallin 2003. +// 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.hpp> +#include <boost/parameter/macros.hpp> +#include <boost/bind.hpp> +#include "basics.hpp" + +namespace test { + + BOOST_PARAMETER_FUN(int, f, 2, 4, f_parameters) + { + p[test::_tester]( + p[test::_name] + , p[test::_value || boost::bind(&test::value_default)] + , p[test::_index | 999] + ); + + return 1; + } + + BOOST_PARAMETER_NAME(foo) + BOOST_PARAMETER_NAME(bar) + + struct baz_parameters + : boost::parameter::parameters< + boost::parameter::optional<test::tag::foo> + , boost::parameter::optional<test::tag::bar> + > + { + }; + + BOOST_PARAMETER_FUN(int, baz, 0, 2, baz_parameters) + { + return 1; + } +} // namespace test + +#include <boost/ref.hpp> +#include <boost/core/lightweight_test.hpp> +#include <string> + +int main() +{ + test::f( + test::values( + std::string("foo") + , std::string("bar") + , std::string("baz") + ) + , std::string("foo") + , std::string("bar") + , std::string("baz") + ); + BOOST_TEST_EQ(1, test::baz()); + + int x = 56; + test::f( + test::values(std::string("foo"), 666.222, 56) + , test::_index = boost::ref(x) + , test::_name = std::string("foo") + ); + + return boost::report_errors(); +} + |