[Serialization] extended_type_info.hpp

Hi, With boost 1.42.0, when I use BOOST_CLASS_EXPORT, I always need to include extended_type_info.hpp to resolve this error : xxx.hpp:153: error: 'guid_defined' is not a template xxx.hpp:153: error: explicit specialization of non-template 'boost::serialization::guid_defined' xxx.hpp:153: error: expected initializer before '<' token xxx.hpp:153: warning: 'boost::archive::detail::<unnamed>::init_guid<MyClass>::g' defined but not used Maybe extended_type_info.hpp can be included in export.hpp ? Fabien Castan

Look oK to me Robert Ramey fab wrote:
Hi, With boost 1.42.0, when I use BOOST_CLASS_EXPORT, I always need to include extended_type_info.hpp to resolve this error :
xxx.hpp:153: error: 'guid_defined' is not a template xxx.hpp:153: error: explicit specialization of non-template 'boost::serialization::guid_defined' xxx.hpp:153: error: expected initializer before '<' token xxx.hpp:153: warning: 'boost::archive::detail::<unnamed>::init_guid<MyClass>::g' defined but not used
Maybe extended_type_info.hpp can be included in export.hpp ?
Fabien Castan
_______________________________________________ Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost

Hello Mr Ramey, export.hpp includes itself with the comment // for guid_defined only (see the diff below) but guid_defined is in extended_type_info.hpp so I assume this is a typo And without the inclusion of extended_type_info.hpp export.hpp *really* specializes the undefined template guid_defined, as the error message posted from Fabien shows. Regards, Nikolay Mladenov $ svn diff -r HEAD export.hpp Index: export.hpp =================================================================== --- export.hpp (revision 59992) +++ export.hpp (working copy) @@ -34,7 +34,7 @@ #include <boost/mpl/not.hpp> #include <boost/mpl/bool.hpp> -#include <boost/serialization/export.hpp> // for guid_defined only +#include <boost/serialization/extended_type_info.hpp> // for guid_defined only #include <boost/serialization/static_warning.hpp> #include <boost/serialization/assume_abstract.hpp> #include <boost/serialization/force_include.hpp> On Thu, Feb 4, 2010 at 12:19 PM, Robert Ramey <ramey@rrsd.com> wrote:
Look oK to me
Robert Ramey
fab wrote:
Hi, With boost 1.42.0, when I use BOOST_CLASS_EXPORT, I always need to include extended_type_info.hpp to resolve this error :
xxx.hpp:153: error: 'guid_defined' is not a template xxx.hpp:153: error: explicit specialization of non-template 'boost::serialization::guid_defined' xxx.hpp:153: error: expected initializer before '<' token xxx.hpp:153: warning: 'boost::archive::detail::<unnamed>::init_guid<MyClass>::g' defined but not used
Maybe extended_type_info.hpp can be included in export.hpp ?
Fabien Castan
_______________________________________________ Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost
_______________________________________________ Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost

OK - I see it now. Done. Robert Ramey Nikolay Mladenov wrote:
Hello Mr Ramey,
export.hpp includes itself with the comment
// for guid_defined only (see the diff below)
but guid_defined is in extended_type_info.hpp
so I assume this is a typo
And without the inclusion of extended_type_info.hpp export.hpp *really* specializes the undefined template guid_defined, as the error message posted from Fabien shows.
Regards,
Nikolay Mladenov
$ svn diff -r HEAD export.hpp Index: export.hpp =================================================================== --- export.hpp (revision 59992) +++ export.hpp (working copy) @@ -34,7 +34,7 @@ #include <boost/mpl/not.hpp> #include <boost/mpl/bool.hpp>
-#include <boost/serialization/export.hpp> // for guid_defined only +#include <boost/serialization/extended_type_info.hpp> // for guid_defined only #include <boost/serialization/static_warning.hpp> #include <boost/serialization/assume_abstract.hpp> #include <boost/serialization/force_include.hpp>
On Thu, Feb 4, 2010 at 12:19 PM, Robert Ramey <ramey@rrsd.com> wrote:
Look oK to me
Robert Ramey
fab wrote:
Hi, With boost 1.42.0, when I use BOOST_CLASS_EXPORT, I always need to include extended_type_info.hpp to resolve this error :
xxx.hpp:153: error: 'guid_defined' is not a template xxx.hpp:153: error: explicit specialization of non-template 'boost::serialization::guid_defined' xxx.hpp:153: error: expected initializer before '<' token xxx.hpp:153: warning: 'boost::archive::detail::<unnamed>::init_guid<MyClass>::g' defined but not used
Maybe extended_type_info.hpp can be included in export.hpp ?
Fabien Castan
_______________________________________________ Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost
_______________________________________________ Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost
_______________________________________________ Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost

Hi, Will trac #3604 patch be merged in next release? https://svn.boost.org/trac/boost/attachment/ticket/3604/ticket3064_remove_co... This patch solves the recursive_register order problem. The recursive_register order problem means below. When the new void_caster_shortcut is made from a void_caster_registry member and a current candidate, If the void_caster_registry member includes virtual base and the current candidate doesn't include it, the information includes_virtual_base is lost. This patch fixes such problem. Thanks, Takatoshi Kondo

As you know I did spend time looking at this. I was convinced it was a limitation of the system and closed the ticket. You've reopened it including a lot of new information. I haven't been able to spend the time on it I believe that it deserves so there it is. Given the effort you've expended - including a good test - means that I WILL look at it. I just can't promise when. Robert Ramey Takatoshi Kondo wrote:
Hi,
Will trac #3604 patch be merged in next release? https://svn.boost.org/trac/boost/attachment/ticket/3604/ticket3064_remove_co...
This patch solves the recursive_register order problem. The recursive_register order problem means below.
When the new void_caster_shortcut is made from a void_caster_registry member and a current candidate,
If the void_caster_registry member includes virtual base and the current candidate doesn't include it, the information includes_virtual_base is lost.
This patch fixes such problem.
Thanks, Takatoshi Kondo
_______________________________________________ Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost
participants (4)
-
fab
-
Nikolay Mladenov
-
Robert Ramey
-
Takatoshi Kondo