Boost logo

Boost :

Subject: Re: [boost] Are you a C++ guru - prove it here !
From: Robert Ramey (ramey_at_[hidden])
Date: 2009-01-15 00:50:30


Congratulations - You're a certified C++ guru.

Robert Ramey

Steven Watanabe wrote:
>> AMDG
>>
>> Robert Ramey wrote:
>>> I'm having problems with the following code below from
>>> boost/serialization/export.hpp
>>>
>>> compiling
>>>
>>> BOOST_CLASS_EXPORT_GUID(final, "final")
>>>
>>> results in the following error message on the gcc compilers.
>>>
>>> error: too few template-parameter-lists
>>>
>>> VC compilers don't complain about this. I've tried replacing
>>>
>>>>> boost::archive::detail::init_guid< T >::guid_initializer = \
>>>
>>> with
>>>
>>>>> boost::archive::detail::init_guid< T >::guid_initializer< T> =\
>>>
>>> But this doesn't help. Happy to get help from any C++ guru
>>>
>>
>> As it happens, I've just been testing a solution. Patch against the
>> trunk attached.
>>
>> In Christ,
>> Steven Watanabe
>>
>>
>
>
>
>> Index: boost/serialization/export.hpp
>> ===================================================================
>> --- boost/serialization/export.hpp (revision 50600)
>> +++ boost/serialization/export.hpp (working copy)
>> @@ -146,22 +146,25 @@
>> }
>> };
>>
>> -template<typename T>
>> -class init_guid {
>> - static ::boost::archive::detail::guid_initializer<T> const
>> - & guid_initializer;
>> -};
>> -
>> } // namespace detail
>> } // namespace archive
>> } // namespace boost
>>
>> #define BOOST_CLASS_EXPORT_GUID(T, K)
>> \ + namespace boost_archive_export_initializer_impl {
>> \ + template<typename T0>
>> \ + struct init_guid;
>> \ + template<>
>> \ + struct init_guid< T > {
>> \ + static ::boost::archive::detail::guid_initializer< T >
>> const \ + & guid_initializer;
>> \ + };
>> \ ::boost::archive::detail::guid_initializer< T > const &
>> \ - ::boost::archive::detail::init_guid<T>::guid_initializer
>> = \ + init_guid< T >::guid_initializer =
>> \ ::boost::serialization::singleton<
>> \ ::boost::archive::detail::guid_initializer< T >
>> \ >::get_mutable_instance().export_guid(K);
>> \ + }
>>
>> #if BOOST_WORKAROUND(__MWERKS__, BOOST_TESTED_AT(0x3205))
>>
>>
>
>
>
>> _______________________________________________
>> Unsubscribe & other changes:
>> http://lists.boost.org/mailman/listinfo.cgi/boost


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