diff --git a/doc/archives.html b/doc/archives.html index ef1bee68..deed9bb8 100644 --- a/doc/archives.html +++ b/doc/archives.html @@ -14,79 +14,165 @@
A is an Archive typeT is an Serializable Typear is an instance of type A.
- x is an instance of type T.
- u is an address.
+ SA is an type modeling the Saving Archive Concept
+ sa is an instance of type SA.
+ LA is an type modeling the Loading Archive Concept
+ la is an instance of type LA.
+ T is an Serializable Type
+ x is an instance of type T Typeu,v is a pointer to a an instance of type T
+ count is an instance of a type that can be converted to std::size_t.
+
- A::is_saving
+ SA::is_saving
- A::is_loading
+ SA::is_loading
- ar & x
+ sa << x
+
+ sa & x
ar.
- Appends the value of x along with other information to ar.
+ These expressions must perform exactly the same function. They append the
+ value of x along with other information to sa.
+ This other information is defined by the implementation of the archive.
+ Typically this information is that which is required by a corresponding
+ Loading Archive type to properly restore the value of x.
+
+ Returns a reference to sa.
- ar.template register_type<T>();
- ar.register_type(u);
+ sa.save_binary(u, count)
size_t(count) bytes found at
+ u.
+
+ sa.register_type<T>()
+
+ sa.register_type(u)
+ sa is a template argument.
+ For more information, see Template Invocation syntax
- ar.library_version()
+ sa.library_version()
+
+ LA::is_saving
+
+ LA::is_loading
+
+ la >> x
+
+ la & x
+ x to a value retrieved from la.
+
+ Returns a reference to la.
+
+ la.load_binary(u, count)
+ la size_t(count) bytes and stores
+ them in memory starting at u.
+
+ la.register_type<T>()
+
+ la.register_type(u)
+ la is a template argument.
+ For more information, see Template Invocation syntax
+
+ la.library_version()
ar is an instance of a Saving Archive.
- x is an instance of a Serializable Typeu is an address.
- count is an integer that can be converted to std::size_t.
-
- ar << x
- ar.
- Appends the value of x along with other information to ar.
-
- ar.save_binary(u, count)
- count bytes found at
- address.
- ar is an instance of a Loading Archive.
- x is an instance of a Serializable Typeu, v are pointers to any type.
- count is an integer that can be converted to std::size_t.
-
- ar >> x
- ar.
- Sets x with a value retrieved from the ar.
-
- ar.load_binary(u, count)
- count bytes and stores
- them in memory starting at address.
-
- ar.reset_object_address(v, u)
+ la.reset_object_address(v, u)
- In order to facilitate loading of objects through a pointer - and to elminate redundant loading of objects, this system implements object address tracking. - Normally this is done automatically with no action required on the part of the user. However, - there are cases when an object must be de-serialized to a temporary location then - moved to its final destination. This is common in loading collections. -
- In such cases, reset_object_address should be invoked to communicate the final address - of the last item loaded. This permits the internal tables to be correctly maintained - in these special cases. + When an object is loaded to a temporary variable and later moved to another location, + This function must be called in order communicate this fact. This is permits the + the archive to properly implement object tracking. Object tracking is required in order + to correctly implement serialization of pointers to instances of derived classes.
- ar.delete_created_pointers()
+ la.delete_created_pointers()
// a portable text archive
-boost::archive::text_oarchive(ostream &s) // saving
-boost::archive::text_iarchive(istream &s) // loading
+boost::archive::text_oarchive // saving
+boost::archive::text_iarchive // loading
// a portable text archive using a wide character stream
-boost::archive::text_woarchive(wostream &s) // saving
-boost::archive::text_wiarchive(wistream &s) // loading
+boost::archive::text_woarchive // saving
+boost::archive::text_wiarchive // loading
// a non-portable native binary archive
-boost::archive::binary_oarchive(ostream &s) // saving
-boost::archive::binary_iarchive(istream &s) // loading
+boost::archive::binary_oarchive // saving
+boost::archive::binary_iarchive // loading
// a portable XML archive
-boost::archive::xml_oarchive(ostream &s) // saving
-boost::archive::xml_iarchive(istream &s) // loading
+boost::archive::xml_oarchive // saving
+boost::archive::xml_iarchive // loading
// a portable XML archive which uses wide characters - use for utf-8 output
-boost::archive::xml_woarchive(wostream &s) // saving
-boost::archive::xml_wiarchive(wistream &s) // loading
+boost::archive::xml_woarchive // saving
+boost::archive::xml_wiarchive // loading
All of these archives implement the same inteface. Hence, it should suffice to describe only one
diff --git a/doc/contents.html b/doc/contents.html
index 0c191172..0e5dd940 100644
--- a/doc/contents.html
+++ b/doc/contents.html
@@ -113,10 +113,10 @@ function initialize() {