Boost logo

Boost :

From: Peter Dimov (pdimov_at_[hidden])
Date: 2004-05-15 07:23:47


Christoph Ludwig wrote:
> On Fri, May 14, 2004 at 09:14:53AM -0700, Robert Ramey wrote:
>> Christoph Ludwig wrote:
>>> Is it possible with the serialization library to serialize function
>>> pointers and pointers to member functions? If it is not directly
>>> supported, is there a "best practice" workaround? I didn't find this
>>> info in the documentation.
>>
>> There's no information in the documentation about this. I'm not
>> sure what it would mean to serialize a function pointer.
>
> I agree it's hard to come up with a unique external representation of
> the value of a function pointer. The most obvious candidate would be
> the name of the referenced function, but
> a) I have no idea whether this can be determined automatically and
> portably at runtime.
> b) it's likely to be implementation dependent, e.g., if the
> referenced function is defined inside an unnamed namespace.

What I do is register them manually.

template<class T> void register_static( T * pt, std::string const & name )
{
// add to name<->address maps
}

template<class T> void save(T * const & pt)
{
// look up the name of pt and save
}

template<class T> void load(T * & t)
{
// load name, look up address, store in pt
}


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk