Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

src/Data/Serialization.h fails to compile with Boost 1.58.0 #8

Closed
jwakely opened this issue Aug 5, 2015 · 2 comments
Closed

src/Data/Serialization.h fails to compile with Boost 1.58.0 #8

jwakely opened this issue Aug 5, 2015 · 2 comments

Comments

@jwakely
Copy link

jwakely commented Aug 5, 2015

The function boost::serialization::stl::load_collection no longer exists, neither do archive_input_seq nor no_reserve_imp

/builddir/build/BUILD/IQmol-df94cf68b9d9d813e4d781c7edb9ac638724dadf/src/Data/Serialization.h: In function ‘void boost::serialization::load(Archive&, QList&, unsigned int)’:
/builddir/build/BUILD/IQmol-df94cf68b9d9d813e4d781c7edb9ac638724dadf/src/Data/Serialization.h:170:4: error: ‘load_collection’ is not a member of ‘boost::serialization::stl’
    boost::serialization::stl::load_collection< 
    ^
/builddir/build/BUILD/IQmol-df94cf68b9d9d813e4d781c7edb9ac638724dadf/src/Data/Serialization.h:171:14: error: expected primary-expression before ‘,’ token
       Archive, 
              ^
/builddir/build/BUILD/IQmol-df94cf68b9d9d813e4d781c7edb9ac638724dadf/src/Data/Serialization.h:172:15: error: expected primary-expression before ‘,’ token
       QList, 
               ^
/builddir/build/BUILD/IQmol-df94cf68b9d9d813e4d781c7edb9ac638724dadf/src/Data/Serialization.h:173:7: error: ‘archive_input_seq’ is not a member of ‘boost::serialization::stl’
       boost::serialization::stl::archive_input_seq >,
       ^
/builddir/build/BUILD/IQmol-df94cf68b9d9d813e4d781c7edb9ac638724dadf/src/Data/Serialization.h:173:59: error: expected primary-expression before ‘,’ token
       boost::serialization::stl::archive_input_seq >,
                                                           ^
/builddir/build/BUILD/IQmol-df94cf68b9d9d813e4d781c7edb9ac638724dadf/src/Data/Serialization.h:173:70: error: expected primary-expression before ‘>’ token
       boost::serialization::stl::archive_input_seq >,
                                                                      ^
/builddir/build/BUILD/IQmol-df94cf68b9d9d813e4d781c7edb9ac638724dadf/src/Data/Serialization.h:173:71: error: expected primary-expression before ‘,’ token
       boost::serialization::stl::archive_input_seq >,
                                                                       ^
/builddir/build/BUILD/IQmol-df94cf68b9d9d813e4d781c7edb9ac638724dadf/src/Data/Serialization.h:174:7: error: ‘no_reserve_imp’ is not a member of ‘boost::serialization::stl’
       boost::serialization::stl::no_reserve_imp< QList > >(ar, t);
       ^
/builddir/build/BUILD/IQmol-df94cf68b9d9d813e4d781c7edb9ac638724dadf/src/Data/Serialization.h:174:59: error: expected primary-expression before ‘>’ token
       boost::serialization::stl::no_reserve_imp< QList > >(ar, t);
                                                           ^
/builddir/build/BUILD/IQmol-df94cf68b9d9d813e4d781c7edb9ac638724dadf/src/Data/Serialization.h:174:61: error: expected primary-expression before ‘>’ token
       boost::serialization::stl::no_reserve_imp< QList > >(ar, t);
                                                             ^
@nutjunkie
Copy link
Owner

I don't understand why load_collection has been deprecated, especially since save_collection still seems to exist. The work-around at the moment is to use Boost 1.56, which has both defined.

@jwakely
Copy link
Author

jwakely commented Aug 19, 2015

It seems that you are relying on internals of Boost.Serialization that are not part of the public API and so have changed in the 1.58.0 release. These details have apparently changed again in Boost 1.59, which needs a different approach (but apparently still using non-public interfaces) as shown in boostorg/property_tree@52a99b5

I have no idea what the "correct" approach is, using only a stable public API.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants