diff --git a/doc/acknowledgments.html b/doc/acknowledgments.html index f200ab8f3..82e1abba1 100644 --- a/doc/acknowledgments.html +++ b/doc/acknowledgments.html @@ -20,7 +20,7 @@


demo_trivial_archive.cpp.
Of course this program won't produce any output as it is. But it provides
the starting point for a simple class which can be used to log formatted
@@ -90,16 +90,16 @@ Our archives have been factored into a tree of classes in order to minimize repetition of code. This is shown in the accompanying -class diagram. +class diagram. Any class which fulfills the following requirements will fit into this hierarchy and implement all the features we require. Deriving from -the base class +the base class common_oarchive.hpp provides all features we desire which are missing from trivial_oarchive above.
-
+
#include <cstddef> // std::size_t
#include <boost/archive/detail/common_oarchive.hpp>
@@ -213,15 +213,15 @@ Types used by the serialization library
for these types.
These are defined in
-basic_archive.hpp.
+basic_archive.hpp.
All of these types have been assigned an
-implementation level of
+implementation level of
primitive and are convertible to types such as int, unsigned int, etc.
so that they have default implementations. This is illustrated by
-basic_text_iarchive.hpp.
+basic_text_iarchive.hpp.
which relies upon the default. However, in some cases, overrides will have to be
explicitly provided for these types. For an example see
-basic_xml_iarchive.hpp.
+basic_xml_iarchive.hpp.
In real practice, we probably won't be quite done.
One or more of the following issues may need to be addressed:
@@ -238,7 +238,7 @@
Types used by the serialization library
as a template parameter rather than simple classes.
Combined with the above, even more issues arise with non-conforming compilers.
-The attached class diagram
+The attached class diagram
shows the relationships between classes used to implement the serialization library.
A close examination of the archives included with the library illustrate
@@ -349,31 +349,31 @@
Implementation
functions - no templates - that is equivalent to the standard templated one.
This is shown in the accompanying
-class diagram
+class diagram
The accompanying demo program in files
-demo_polymorphic.cpp,
-demo_polymorphic_A.hpp, and
-demo_polymorphic_A
+demo_polymorphic.cpp,
+demo_polymorphic_A.hpp, and
+demo_polymorphic_A
show how polymorphic archives are to be used. Note the following:
- demo_polymorphic_A.hpp and
-demo_polymorphic_A.cpp
+ demo_polymorphic_A.hpp and
+demo_polymorphic_A.cpp
contain no templates and no reference to any specific archive implementation. That is, they will
only have to be compiled once for all archive implementations. This even applies to archives classes
created in the future.
- - The main program
demo_polymorphic.cpp
+ - The main program
demo_polymorphic.cpp
specifies a specific archive implementation.
As can be seen in the
-class diagram
+class diagram
and the header files, this implementation is just a composition of the polymorphic
interface and the standard template driven implementation. This composition is
accomplished by the templates
-polymorphic_iarchive_route.hpp
+polymorphic_iarchive_route.hpp
and
-polymorphic_oarchive_route.hpp
+polymorphic_oarchive_route.hpp
which redirect calls to the polymorphic archives to the specific archive.
As these contain no code specific to the particular implementation archive, they can be used to create
a polymorphic archive implementation from any functioning templated archive implementation.
@@ -381,14 +381,14 @@ Implementation
As a convenience, small header files have been included which contain
a typedef for a polymorphic implementation for each corresponding
templated one. For example, the headers
-polymorphic_text_iarchive.hpp
+polymorphic_text_iarchive.hpp
and
-polymorphic_text_oarchive.hpp.
+polymorphic_text_oarchive.hpp.
contain the typedef for the polymorphic implementation
of the standard text archive classes
-text_iarchive.hpp
+text_iarchive.hpp
and
-text_oarchive.hpp
+text_oarchive.hpp
respectively. All included polymorphic archives use the same naming scheme.
Usage
diff --git a/doc/archives.html b/doc/archives.html
index d36801537..ca7cd6f59 100644
--- a/doc/archives.html
+++ b/doc/archives.html
@@ -13,7 +13,7 @@

- Serialization
+ Serialization
Archive Concepts
@@ -99,7 +99,7 @@ Valid Expressions
Special Considerations - Derived Pointers.
The second syntax is included to permit this function to be called on non-conforming
compilers when sa is a template argument.
- For more information, see Template Invocation syntax
+ For more information, see Template Invocation syntax
sa.get_library_version()
@@ -177,7 +177,7 @@ Valid Expressions
Special Considerations - Derived Pointers.
The second syntax is included to permit this function to be called on non-conforming
compilers when la is a template argument.
- For more information, see Template Invocation syntax
+ For more information, see Template Invocation syntax
la.get_library_version()
@@ -265,24 +265,24 @@ Archive Models
included in the code module containing the serialization code.
// a portable text archive
-boost::archive::text_oarchive // saving
-boost::archive::text_iarchive // loading
+boost::archive::text_oarchive // saving
+boost::archive::text_iarchive // loading
// a portable text archive using a wide character stream
boost::archive::text_woarchive // saving
boost::archive::text_wiarchive // loading
// a portable XML archive
-boost::archive::xml_oarchive // saving
-boost::archive::xml_iarchive // 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 // saving
-boost::archive::xml_wiarchive // loading
+boost::archive::xml_woarchive // saving
+boost::archive::xml_wiarchive // loading
// a non-portable native binary archive
-boost::archive::binary_oarchive // saving
-boost::archive::binary_iarchive // loading
+boost::archive::binary_oarchive // saving
+boost::archive::binary_iarchive // loading
-
-
+
Serialization
-
-
-
-
-
-Contents
-
-
-
-
- - Release Notes
- - Overview
-
- - Tutorial
-
-
- - Reference
-
- - Archive Concepts
-
- - Serializable Concept
-
- - Special Considerations
-
- - Object Tracking
-
- Class Information
-
- Helper Support
-
- Archive Portability
-
- - Binary Archives
-
- XML Archives
-
- Exporting Class Serialization
-
- Static Libraries and Serialization
-
- DLLS - Serialization and Runtime Linking
-
- Plugins
-
- Multi-Threading
-
- Optimizations
-
- Archive Exceptions
-
- - Exception Safety
-
- - Archive Class Reference
-
-
- - Implementation Notes
-
- - Case Studies
-
- - Other Classes
-
- extended_type_info
-
- - Motivation
-
- Runtime Interface
-
- Requirements
-
- Models
-
- void_cast
- utf8_codecvt_facet
- BOOST_STRONG_TYPEDEF
- state_saver
- - Dataflow Iterators
-
smart_cast
- BOOST_STATIC_WARNING
- singleton
-
- - Motivation
-
- Features
-
- Class Interface
-
- Requirements
-
- Examples
-
- Multi-Threading
-
-
-
- - Tips and Tricks
-
- Rationale
-
-
- - To Do
-
-
- - History
-
-
- Bibliography
- - Acknowledgments
-
-
+
+The contents are now the documentation home page. Automatic redirection
+failed, please go to index.html.
diff --git a/doc/dataflow.html b/doc/dataflow.html
index bd4c13d86..4ae3b3010 100644
--- a/doc/dataflow.html
+++ b/doc/dataflow.html
@@ -19,7 +19,7 @@

- Serialization
+ Serialization
Dataflow Iterators
@@ -67,7 +67,7 @@ Motivation
Indeed, this seems to be exactly the kind of problem that iterator adaptors are
intended to address. The Iterator Adaptor library already includes
modules which can be configured to implement some of the operations above. For example,
-included is
+included is
transform_iterator, which can be used to implement 6 bit integer => base64 code.
Dataflow Iterators
@@ -118,7 +118,7 @@ Dereferencing
way to write a remove_whitespace iterator is to increment past the initial
whitespaces when the iterator is constructed. This will fail if the iterator passed to the
constructor "points" to the end of a string. The
-
+
filter_iterator is implemented
in this way so it can't be used in our context. So, for implementation of this iterator,
space removal is deferred until the iterator actually is dereferenced.
@@ -138,41 +138,41 @@ Iterators Included in the Library
Dataflow iterators for the serialization library are all defined in the namespace
boost::archive::iterators included here are:
- -
+
-
base64_from_binary
- transforms a sequence of integers to base64 text
- -
+
-
binary_from_base64
- transforms a sequence of base64 characters to a sequence of integers
- -
+
-
insert_linebreaks
- given a sequence, creates a sequence with newline characters inserted
- -
+
-
mb_from_wchar
- transforms a sequence of wide characters to a sequence of multi-byte characters
- -
+
-
remove_whitespace
- given a sequence of characters, returns a sequence with the white characters
removed. This is a derivation from the
boost::filter_iterator
- -
+
-
transform_width
- transforms a sequence of x bit elements into a sequence of y bit elements. This
is a key component in iterators which translate to and from base64 text.
- -
+
-
wchar_from_mb
- transform a sequence of multi-byte characters in the current locale to wide characters.
- -
+
-
xml_escape
- escapes xml meta-characters from xml text
- -
+
-
xml_unescape
- unescapes xml escape sequences to create a sequence of normal text
-
@@ -183,9 +183,9 @@ Iterators Included in the Library
iterators, they are found in the namespace boost::archive::interators to avoid
conflicts with the standard library versions.
- -
+
-
istream_iterator
- -
+
-
ostream_iterator
diff --git a/doc/derivation.html b/doc/derivation.html
index 6c7279264..e8e769063 100644
--- a/doc/derivation.html
+++ b/doc/derivation.html
@@ -19,7 +19,7 @@

- Serialization
+ Serialization
Derivation from an Existing Archive
@@ -32,7 +32,7 @@ Log Archive
It may happen that one wants to create a new archive class by derivation from one
of the included ones. Included is a sample program that shows how to derive a
new archive from one of the ones included with the library. The first example is
-
+
demo_log.cpp.
This derivation from the xml archive writes output in xml without the extra
@@ -55,7 +55,7 @@
Log Archive
It is derived from xml_oarchive_impl
NOT xml_oarchive
As described in the comments in
-xml_oarchive.hpp.
+xml_oarchive.hpp.
xml_oarchive really a shorthand name for
xml_oarchive_impl<xml_oarchive>. So we should derive
from xml_oarchive_impl<log_archive> rather
@@ -101,7 +101,7 @@ Log Archive
friend class boost::serialization::save_access;
- Reread Archive Internals.
+ Reread Archive Internals.
This describes the class hierarchy so that you know what to override.
Base class functions will usually need to be explicitly invoked.
We commonly specialize the function name save_override
diff --git a/doc/exception_safety.html b/doc/exception_safety.html
index 46a53c019..d0ece8ea6 100644
--- a/doc/exception_safety.html
+++ b/doc/exception_safety.html
@@ -19,7 +19,7 @@

- Serialization
+ Serialization
Exception Safety
@@ -57,7 +57,7 @@ Exception Safety
no pointers are left invalid. The object's destructor should
be able to delete any other existing objects in the normal manner
without problem.
- test_delete_pointer.cpp
+ test_delete_pointer.cpp
illustrates this case.
class contains one or more referenced pointers
@@ -88,7 +88,7 @@ Exception Safety
to delete referenced pointers so any dangling references will
cause no harm.
- demo_exception.cpp
+ demo_exception.cpp
is a program that illustrates this case.
diff --git a/doc/exceptions.html b/doc/exceptions.html
index 2465e3e1b..9c55ac0c5 100644
--- a/doc/exceptions.html
+++ b/doc/exceptions.html
@@ -19,7 +19,7 @@

- Serialization
+ Serialization
Archive Exceptions
@@ -45,9 +45,9 @@ Archive Exceptions
Archive operators can throw a boost::archive_exception
object which can be caught by an application program. These exceptions are defined
-in the files
+in the files
archive_exception.hpp
-and
+and
basic_xml_archive.hpp.
namespace boost {
diff --git a/doc/extended_type_info.html b/doc/extended_type_info.html
index e2fca7fee..ee3787897 100644
--- a/doc/extended_type_info.html
+++ b/doc/extended_type_info.html
@@ -19,7 +19,7 @@

- Serialization
+ Serialization
extended_type_info
@@ -68,13 +68,13 @@ The problem with std::type_info
Features
-
+
extended_type_info is an implementation
of std::type_info functionality with the
following features:
-
- Builds a set of
+ Builds a set of
extended_type_info
records - one for each type
serialized.
@@ -130,7 +130,7 @@ Runtime Interface
Generally, there will be one and only one
-extended_type_info
+extended_type_info
instance created for each type. However, this is enforced only at the executable
module level. That is, if a program includes some shared libraries or DLLS,
there may be more than one instance of this class corresponding to a particular type.
@@ -183,7 +183,7 @@
Runtime Interface
const char *get_key() const;
extended_type_info
+Retrieves the key for extended_type_info
instance. If no key has been associated with the instance, then a NULL is returned.
extended_type_info
@@ -208,7 +208,7 @@
extended_type_info
@@ -240,7 +240,7 @@ extended_type_info
+corresponding extended_type_info
object.
@@ -249,7 +249,7 @@ extended_type_info,
(referred to as ETI here), must be derived from
-
+
extended_type_info
@@ -320,14 +320,14 @@ extended_type_info
+extended_type_info
implementations.
-
- © Copyright Robert Ramey 2005-2009.
Distributed under the Boost Software License, Version 1.0. (See
diff --git a/doc/faq.html b/doc/faq.html
index 2a575aa74..24375dcc3 100644
--- a/doc/faq.html
+++ b/doc/faq.html
@@ -22,7 +22,7 @@
+
is implemented in terms of the standard typeid(). It presumes that RTTI support is enabled
by the compiler.
extended_type_info_typeid
+
is implemented in a way that doesn't rely on the existence RTTI.
Instead, it requires that all polymorphic types be explicitly exported.
@@ -344,8 +344,8 @@
extended_type_info_no_rtti
Models
as described above.
Example
-The test program test_no_rtti
-implements this function in terms of the
+The test program test_no_rtti
+implements this function in terms of the
extended_type_info API above to return the export key associated with the class.
This requires that non-abstract types be exported. It also demonstrates the
inter-operability between two different implementations of
@@ -408,7 +408,7 @@ Requirements for Each Type
A complete example of this can be found
-here
+here
diff --git a/doc/headers.html b/doc/headers.html
index 51426c1f1..5c248b4d2 100644
--- a/doc/headers.html
+++ b/doc/headers.html
@@ -19,7 +19,7 @@
- Serialization
+ Serialization
Tips and Tricks

-
@@ -67,57 +67,57 @@ Serialization
+ Serialization
Code Structure
Archive Implementations
-
Serialization Declarations
-
Serialization Declarations
-
Archive Development
Archive Development
of text archives such as user friendly text or windows ini files.
Archive Development
or wide character binary streams.
basic_text_oarchive.hpp
contains code to strip out and ignore any names attached to objects.
-
The following discussion is based on the -class diagram. +class diagram.
-
@@ -434,7 +434,7 @@


no_codecvt flag. Note this problem will
occur on all compilers shipped with this library.
|
+ |
+
+ Serialization+Contents+ |
+
+
extended_type_info
+ void_cast
+ utf8_codecvt_facet
+ BOOST_STRONG_TYPEDEF
+ state_saver
+ smart_cast
+ BOOST_STATIC_WARNING
+ singleton
+ 


@@ -50,7 +50,7 @@ PIMPL
a declaration of class B is sufficient. The implemenation of the serialization
of A includes the definition of class B defined in the separately compiled module:
-demo_pimpl_A.cpp
+demo_pimpl_A.cpp
by:
#include "demo_pimpl_A.hpp"
diff --git a/doc/private_base.html b/doc/private_base.html
index c5da401ad..163e6c880 100644
--- a/doc/private_base.html
+++ b/doc/private_base.html
@@ -19,7 +19,7 @@

- Serialization
+ Serialization
Private Base Classes
diff --git a/doc/rationale.html b/doc/rationale.html
index df0d0902f..b00a6af0b 100644
--- a/doc/rationale.html
+++ b/doc/rationale.html
@@ -20,7 +20,7 @@

- Serialization
+ Serialization
Rationale
diff --git a/doc/reference.html b/doc/reference.html
index caf8242a2..b10eb47d7 100644
--- a/doc/reference.html
+++ b/doc/reference.html
@@ -19,7 +19,7 @@

- Serialization
+ Serialization
Serializable Concept
diff --git a/doc/release.html b/doc/release.html
index 44738a497..6b4e13c50 100644
--- a/doc/release.html
+++ b/doc/release.html
@@ -21,7 +21,7 @@
- Serialization
+ Serialization
Release Notes
@@ -242,7 +242,7 @@ Differences from Boost 1.32
earlier boost releases. In most cases the fix is trivial. In other cases, code
should be scrutinized to be sure that it doesn't use the serialization system
in a way which may introduce subtle bugs in to the program. A fuller
- explanation of this issue can be found
+ explanation of this issue can be found
here.
A new implementation of serialization for shared_ptr<T>.
diff --git a/doc/serialization.html b/doc/serialization.html
index 96912fadd..01ceadf8f 100644
--- a/doc/serialization.html
+++ b/doc/serialization.html
@@ -19,7 +19,7 @@

- Serialization
+ Serialization
Serializable Concept
@@ -73,7 +73,7 @@ Serializable Concept
it is a primitive type.
By primitive type we mean a C++ built-in type and ONLY
a C++ built-in type. Arithmetic (including characters), bool, enum are primitive types.
- Below in serialization traits,
+ Below in serialization traits,
we define a "primitive" implementation level in a different way for a
different purpose. This can be a source of confusion.
It is a class type and one of the following has been declared according
@@ -197,7 +197,7 @@ Namespaces for Free Function Overrides
two phase lookup. In fact, the serialization library used a perhaps overly clever
method to support this rule even for such compilers. Those with an interest in studying
this further will find more information in
-serialization.hpp
+serialization.hpp
Serialization of Class Members
Regardless of which of the above methods is used, the body of the serialize function must
@@ -213,7 +213,7 @@ Serialization of Class Members
Base Classes
The header file
-
+
base_object.hpp
includes the template:
@@ -275,7 +275,7 @@ Templates
For an example that shows how this idea might be implemented for your own
class templates, see
-
+
demo_auto_ptr.cpp.
This shows how non-intrusive serialization
for the template auto_ptr from the standard library
@@ -283,7 +283,7 @@
Templates
A somewhat trickier addition of serialization to a standard template
can be found in the example
-
+
shared_ptr.hpp