/* Copyright 2019 Glen Joseph Fernandes (glenjofe@gmail.com) Distributed under the Boost Software License, Version 1.0. (http://www.boost.org/LICENSE_1_0.txt) */ #include #include void test() { const char* n = "name"; int v = 1; boost::nvp p(n, v); BOOST_TEST_EQ(p.name(), n); BOOST_TEST_EQ(p.value(), 1); BOOST_TEST_EQ(&p.value(), &v); } void test_factory() { const char* n = "name"; int v = 1; boost::nvp p = boost::make_nvp(n, v); BOOST_TEST_EQ(p.name(), n); BOOST_TEST_EQ(p.value(), 1); BOOST_TEST_EQ(&p.value(), &v); } void test_macro() { int v = 1; boost::nvp p = BOOST_NVP(v); BOOST_TEST_CSTR_EQ(p.name(), "v"); BOOST_TEST_EQ(p.value(), 1); BOOST_TEST_EQ(&p.value(), &v); } int main() { test(); test_factory(); test_macro(); return boost::report_errors(); }