1
0
forked from boostorg/core

Update nvp tests and documentation

This commit is contained in:
Glen Fernandes
2019-09-04 12:28:00 -04:00
parent 7b8385afc3
commit 5fb5a3e292
2 changed files with 18 additions and 14 deletions

View File

@ -24,8 +24,8 @@ Serialization library.
The following snippet shows use in a member serialize function:
```
template<class Archive>
void serialize(Archive& archive, unsigned)
template<class A>
void serialize(A& archive, unsigned)
{
archive & boost::make_nvp("x", x_) & boost::make_nvp("y", y_);
}
@ -48,14 +48,14 @@ class nvp {
const T& const_value() const noexcept;
template<class Archive>
void save(Archive& archive, unsigned) const;
template<class A>
void save(A& archive, unsigned) const;
template<class Archive>
void load(Archive& archive, unsigned);
template<class A>
void load(A& archive, unsigned);
template<class Archive>
void serialize(Archive& archive, unsigned);
template<class A>
void serialize(A& archive, unsigned);
};
template<class T>
@ -85,13 +85,13 @@ const nvp<T> make_nvp(const char* name, T& value) noexcept;
[Returns the stored value pointer.]]
[[`const T& const_value() const noexcept;`]
[Returns the stored value pointer.]]
[[`template<class Archive> void save(Archvie& archive, unsigned) const;`]
[[`template<class A> void save(A& archive, unsigned) const;`]
[Calls `archive.operator<<(const_value())`.]]
[[`template<class Archive> void load(Archvie& archive, unsigned);`]
[[`template<class A> void load(A& archive, unsigned);`]
[Calls `archive.operator>>(value())`.]]
[[`template<class Archive> void serialize(Archvie& archive,
[[`template<class A> void serialize(A& archive,
unsigned version);`]
[Calls `save(archive, version)` if `Archive::is_saving` is a true type,
[Calls `save(archive, version)` if `A::is_saving` is a true type,
otherwise `load(archive, version)`.]]]
[endsect]

View File

@ -94,10 +94,14 @@ void test_deserialize()
void test_trait()
{
BOOST_TEST_TRAIT_TRUE((boost::is_nvp<boost::nvp<double> >));
BOOST_TEST_TRAIT_FALSE((boost::is_nvp<double>));
BOOST_TEST_TRAIT_TRUE((boost::is_nvp<boost::nvp<int> >));
BOOST_TEST_TRAIT_FALSE((boost::is_nvp<int>));
BOOST_TEST_TRAIT_TRUE((boost::is_nvp<const boost::nvp<int> >));
BOOST_TEST_TRAIT_FALSE((boost::is_nvp<const int>));
BOOST_TEST_TRAIT_TRUE((boost::is_nvp<volatile boost::nvp<int> >));
BOOST_TEST_TRAIT_FALSE((boost::is_nvp<volatile int>));
BOOST_TEST_TRAIT_TRUE((boost::is_nvp<const volatile boost::nvp<int> >));
BOOST_TEST_TRAIT_FALSE((boost::is_nvp<const volatile int>));
}
void test_factory()