diff --git a/doc/archive_reference.html b/doc/archive_reference.html index d0ab60b29..f888cbfb1 100644 --- a/doc/archive_reference.html +++ b/doc/archive_reference.html @@ -411,6 +411,15 @@

Usage

serialize such a primitive type will result in a compilation error since the common polymorphic interface is static and cannot instantiate code for a new type. +

+Note also that every value written through a polymorphic archive has to be given a name, with +BOOST_SERIALIZATION_NVP or +make_nvp. Which archive is on the other end is settled +at run time, and it may turn out to be an XML one, where a value is written as an element and so +must be named. A templated XML archive rejects an unnamed value where it is written; the +polymorphic interface cannot, because at that point the archive type is not yet known, and the +value is written without an element around it. The resulting document cannot be read back. +

The main utility of polymorphic archives will be to permit the building of class DLLs that will include serialization code for all present and future archives with no redundant code.