Hi Robert,

Thanks for your suggestion - I's actually doing all the export in different header file (I mentioned previously in another posting) containing all the export to reduce compile time. But moving the export in ConcreteCondition.h and CompositeCondition.h causes the crash to turn into a "unregistered" exception. Now, I guess I can work on it. If it doesn't work, I'll get back to the same posting.

Regards,
~ Soumen

On Tue, Sep 22, 2009 at 10:36 PM, Robert Ramey <ramey@rrsd.com> wrote:
Try adding

BOOST_CLASS_EXPORT(ConcreteCondition)

Robert Ramey


Soumen wrote:
> Hi,
>
> I've following class hierarchy:
>
> FilterCondition <---+--- CompositeCondition
>                          |
>                          +--- ConcreteCondition
>
> FilterCondition is ABC. FilterCondition has certain data members
> which I need to serialize.
>
> I already have another class "Table" for which serialization works
> perfectly. Now, I've added a pointer of type "FilterCondition" as a
> member to "Table". Say, the member name is "filterCond_".
>
> Now, as soon as I add following line in Table::serialize(), I get a
> crash :
>
> ar & filterCond_;
>
> This happens even though I make body of FilterCondition::serialize(),
> CompositeCondition::serialize() and
> ConcreteCondition::serialize() empty.
>
> In Table::serialize(), I've verified that filterCond_ is a valid
> pointer. I've declared FilterCondition as abstract through
> BOOST_CLASS_ABSTRACT macro as well.
>



_______________________________________________
Boost-users mailing list
Boost-users@lists.boost.org
http://lists.boost.org/mailman/listinfo.cgi/boost-users