Boost logo

Boost :

Subject: Re: [boost] [Boost.Serialization] Detecting if Boost.Serialization is supported for a type
From: Ioannis Papadopoulos (ipapadop_at_[hidden])
Date: 2010-10-22 19:24:11

Nope, it does not - you'll either have to declare a new serialize()
function or get it from the base class.


struct A {
   template<typename Archive>
   void serialize(Archive&, const unsigned int) { }

struct B : public A {
   using A::serialize;

PS no offense, but my name is spelled with a capital 'I' not an 'L' :)

On 10/21/2010 12:34 PM, Ben Hendrickson wrote:
> Loannis Papadopoulos wrote:
>> I successfully made a template supports_boost_serialization<T> that
>> detects if T::serialize() exists.
>> However, I cannot address the case of a stand-alone serialize() function
>> - since there is a generic boost::serialization::serialize(Archive&, T&,
>> const unsigned int), there is not way (that I know of) to figure out if
>> non-intrusive serialization exists for a specific T.
> Another hard case is inherited serialize methods - consider class T
> inheriting from class B, and B::serialize() exists. Does your
> implementation of supports_boost_serialization<T> detect that? If it
> does, I am interested in how.
> Ben
> _______________________________________________
> Unsubscribe& other changes:

Boost list run by bdawes at, gregod at, cpdaniel at, john at