Júlio Hoffimann wrote:
> Robert,
>
>
> Could you please take a look at the following simplified scenario?
>
>
> Suppose i have a base class B for which the serialization is just the
> dimension (2) and the associated probability distributions (uniform 0
> 1, uniform 0 1). A derived class D: B for which the serialization
> just adds the number of samples for each dimension (5, 5).  
>
>
> //
> // Somewhere in the code...
> //
> D obj;
> std::vector<boost::optional<double>> v;
>
> while (in a loop) {
>
>     if (is time to save) {
>
>         boost::fylesystem::remove( archive_filename );
>         boost::ofstream file( archive_filename );
>         boost::archive::text_oarchive oa( file );
>         oa << obj << v;
>     }
> }
>
>
> The archive contents for this case:
>
>
> 22 serialization::archive 9 0 7 UQ::PCM 1 0
> 0 0 0 2 0 0 2 0 0 0 7 uniform 2 0 0 1 7 uniform 2 0 0 1 2 0 5 5 0 0
> 25 0 0 0 1 0 0.002200555327023207 1 0 0.010825220107479879 1 0
> 0.023455038515334009 1 0 0.036084856923188136 1 0
> 0.044709521703644811 1 0 0.010825220107479879 1 0
> 0.053252644428581027 1 0 0.11538267247357922 1 0 0.1775127005185774 1
> 0 0.21994012483967856 1 0 0.023455038515334009 1 0
> 0.11538267247357922 1 0 0.25 1 0 0.38461732752642075 1 0
> 0.47654496148466596 1 0 0.036084856923188136 1 0 0.1775127005185774 1
> 0 0.38461732752642075 1 0 0.59172195453426402 1 0 0.73314979812965331
> 1 0 0.044709521703644811 1 0 0.21994012483967856 1 0
> 0.47654496148466596 1 0 0.73314979812965331 1 0 0.90838040126568709 
>
>
> Could you very generally explain what each section is about? I'm
> trying hard to fix the bug in my code, but all the approaches i had
> so far were not successful. :-( 
 
have you tried using an xml_?archive ?
 
This will reveal all the names and types serialized.  It's very easy to read.  It it will
give exactly the answer to the questiion you're asking.
 
Robert Ramey