Boost logo

Boost Users :

From: Fei Liu (fei.liu_at_[hidden])
Date: 2007-07-05 10:35:17


Hello, I am trying out the boost serialization library. I've gotten
demo_xml.cpp to work correctly. Now I want to serialize a customized
class but I got some errors I don't fully understand. Here is teh
complete source code and error. Judging from the error it seems I am
missing something. But I've compared with demo_xml.cpp and I am lost.
Any help is appreciated.

#include <string>
#include <iomanip>
#include <iostream>
#include <sstream>

#include <boost/serialization/nvp.hpp>
#include <boost/serialization/utility.hpp>
#include <boost/serialization/map.hpp>
#include <boost/serialization/version.hpp>
#include <boost/archive/xml_iarchive.hpp>
#include <boost/archive/xml_oarchive.hpp>

class demo{

private:
std::map<std::string, std::string> attrs;
public:
demo(const std::string & key, const std::string & value){
attrs[key] = value;
}
demo & insert(const std::string & key, const std::string & value){
attrs[key] = value;
return *this;
}

void save(std::ostream & os){
assert(os.good());
boost::archive::xml_oarchive oa(os);
oa << BOOST_SERIALIZATION_NVP(*this);
}

void restore(std::istream & is){
assert(is.good());
boost::archive::xml_iarchive ia(is);
ia >> BOOST_SERIALIZATION_NVP(*this);
}
friend class boost::serialization::access;
friend std::ostream & operator<<(std::ostream &os, const demo &bs);
template<class Archive>
void serialize(Archive &ar, const unsigned int version)
{
ar & BOOST_SERIALIZATION_NVP(attrs);
}
};
BOOST_CLASS_VERSION(demo, 1)

std::ostream & operator<<(std::ostream &os, const demo &bs)
{
std::map<std::string, std::string>::const_iterator it;
for(it = bs.attrs.begin(); it != bs.attrs.end(); it++){
os << it->first << it->second;
}
return os;
}

int main(){
demo x("a", "abcde");
x.insert("b", "badfaf");

std::ostringstream os;
std::istringstream is;

x.save(os);
std::cout << x;
is.str(os.str());
x.restore(is);
std::cout << x;
}
g++ -fstrict-aliasing -fomit-frame-pointer -Wall -pedantic -ansi -g -O2
boost_s_map.cpp -o boost_s_map -lboost_serialization
/usr/include/boost/archive/detail/oserializer.hpp: In constructor
‘boost::archive::detail::oserializer<Archive, T>::oserializer() [with
Archive = boost::archive::xml_oarchive, T = demo]’:
/usr/include/boost/archive/detail/oserializer.hpp:135: instantiated from
‘static boost::archive::detail::oserializer<Archive, T>&
boost::archive::detail::oserializer<Archive, T>::instantiate() [with
Archive = boost::archive::xml_oarchive, T = demo]’
/usr/include/boost/archive/detail/oserializer.hpp:264: instantiated from
‘static void boost::archive::detail::save_non_pointer_type<Archive,
T>::save_standard::invoke(Archive&, const T&) [with Archive =
boost::archive::xml_oarchive, T = demo]’
/usr/include/boost/archive/detail/oserializer.hpp:322: instantiated from
‘static void boost::archive::detail::save_non_pointer_type<Archive,
T>::invoke(Archive&, const T&) [with Archive =
boost::archive::xml_oarchive, T = demo]’
/usr/include/boost/archive/detail/oserializer.hpp:536: instantiated from
‘void boost::archive::save(Archive&, const T&) [with Archive =
boost::archive::xml_oarchive, T = demo]’
/usr/include/boost/archive/basic_xml_oarchive.hpp:99: instantiated from
‘void boost::archive::basic_xml_oarchive<Archive>::save_override(const
boost::serialization::nvp<T>&, int) [with T = demo, Archive =
boost::archive::xml_oarchive]’
/usr/include/boost/archive/detail/interface_oarchive.hpp:78:
instantiated from ‘Archive&
boost::archive::detail::interface_oarchive<Archive>::operator<<(T&)
[with T = const boost::serialization::nvp<demo>, Archive =
boost::archive::xml_oarchive]’
boost_s_map.cpp:30: instantiated from here
/usr/include/boost/archive/detail/oserializer.hpp:107: error: incomplete
type ‘boost::serialization::extended_type_info_null<demo>’ used in
nested name specifier
/usr/include/boost/archive/detail/iserializer.hpp: In constructor
‘boost::archive::detail::iserializer<Archive, T>::iserializer() [with
Archive = boost::archive::xml_iarchive, T = demo]’:
/usr/include/boost/archive/detail/iserializer.hpp:146: instantiated from
‘static boost::archive::detail::iserializer<Archive, T>&
boost::archive::detail::iserializer<Archive, T>::instantiate() [with
Archive = boost::archive::xml_iarchive, T = demo]’
/usr/include/boost/archive/detail/iserializer.hpp:375: instantiated from
‘static void boost::archive::detail::load_non_pointer_type<Archive,
T>::load_standard::invoke(Archive&, T&) [with Archive =
boost::archive::xml_iarchive, T = demo]’
/usr/include/boost/archive/detail/iserializer.hpp:425: instantiated from
‘static void boost::archive::detail::load_non_pointer_type<Archive,
T>::invoke(Archive&, T&) [with Archive = boost::archive::xml_iarchive, T
= demo]’
/usr/include/boost/archive/detail/iserializer.hpp:572: instantiated from
‘void boost::archive::load(Archive&, T&) [with Archive =
boost::archive::xml_iarchive, T = demo]’
/usr/include/boost/archive/basic_xml_iarchive.hpp:80: instantiated from
‘void boost::archive::basic_xml_iarchive<Archive>::load_override(const
boost::serialization::nvp<T>&, int) [with T = demo, Archive =
boost::archive::xml_iarchive]’
/usr/include/boost/archive/xml_iarchive.hpp:74: instantiated from ‘void
boost::archive::xml_iarchive_impl<Archive>::load_override(T&, int) [with
T = const boost::serialization::nvp<demo>, Archive =
boost::archive::xml_iarchive]’
/usr/include/boost/archive/detail/interface_iarchive.hpp:76:
instantiated from ‘Archive&
boost::archive::detail::interface_iarchive<Archive>::operator>>(T&)
[with T = const boost::serialization::nvp<demo>, Archive =
boost::archive::xml_iarchive]’
boost_s_map.cpp:36: instantiated from here
/usr/include/boost/archive/detail/iserializer.hpp:114: error: incomplete
type ‘boost::serialization::extended_type_info_null<demo>’ used in
nested name specifier
/usr/include/boost/archive/detail/iserializer.hpp: In member function
‘bool boost::archive::detail::iserializer<Archive, T>::is_polymorphic()
const [with Archive = boost::archive::xml_iarchive, T = demo]’:
boost_s_map.cpp:68: instantiated from here
/usr/include/boost/archive/detail/iserializer.hpp:142: error: invalid
use of undefined type ‘struct
boost::serialization::extended_type_info_null<demo>’
/usr/include/boost/serialization/type_info_implementation.hpp:26: error:
declaration of ‘struct boost::serialization::extended_type_info_null<demo>’
/usr/include/boost/archive/detail/iserializer.hpp:143: error: invalid
use of undefined type ‘struct
boost::serialization::extended_type_info_null<demo>’
/usr/include/boost/serialization/type_info_implementation.hpp:26: error:
declaration of ‘struct boost::serialization::extended_type_info_null<demo>’
/usr/include/boost/archive/detail/oserializer.hpp: In member function
‘bool boost::archive::detail::oserializer<Archive, T>::is_polymorphic()
const [with Archive = boost::archive::xml_oarchive, T = demo]’:
boost_s_map.cpp:68: instantiated from here
/usr/include/boost/archive/detail/oserializer.hpp:131: error: invalid
use of undefined type ‘struct
boost::serialization::extended_type_info_null<demo>’
/usr/include/boost/serialization/type_info_implementation.hpp:26: error:
declaration of ‘struct boost::serialization::extended_type_info_null<demo>’
/usr/include/boost/archive/detail/oserializer.hpp:132: error: invalid
use of undefined type ‘struct
boost::serialization::extended_type_info_null<demo>’
/usr/include/boost/serialization/type_info_implementation.hpp:26: error:
declaration of ‘struct boost::serialization::extended_type_info_null<demo>’
/usr/include/boost/archive/detail/oserializer.hpp: In constructor
‘boost::archive::detail::oserializer<Archive, T>::oserializer() [with
Archive = boost::archive::xml_oarchive, T =
std::map<std::basic_string<char, std::char_traits<char>,
std::allocator<char> >, std::basic_string<char, std::char_traits<char>,
std::allocator<char> >, std::less<std::basic_string<char,
std::char_traits<char>, std::allocator<char> > >,
std::allocator<std::pair<const std::basic_string<char,
std::char_traits<char>, std::allocator<char> >, std::basic_string<char,
std::char_traits<char>, std::allocator<char> > > > >]’:
/usr/include/boost/archive/detail/oserializer.hpp:135: instantiated from
‘static boost::archive::detail::oserializer<Archive, T>&
boost::archive::detail::oserializer<Archive, T>::instantiate() [with
Archive = boost::archive::xml_oarchive, T =
std::map<std::basic_string<char, std::char_traits<char>,
std::allocator<char> >, std::basic_string<char, std::char_traits<char>,
std::allocator<char> >, std::less<std::basic_string<char,
std::char_traits<char>, std::allocator<char> > >,
std::allocator<std::pair<const std::basic_string<char,
std::char_traits<char>, std::allocator<char> >, std::basic_string<char,
std::char_traits<char>, std::allocator<char> > > > >]’
/usr/include/boost/archive/detail/oserializer.hpp:264: instantiated from
‘static void boost::archive::detail::save_non_pointer_type<Archive,
T>::save_standard::invoke(Archive&, const T&) [with Archive =
boost::archive::xml_oarchive, T = std::map<std::basic_string<char,
std::char_traits<char>, std::allocator<char> >, std::basic_string<char,
std::char_traits<char>, std::allocator<char> >,
std::less<std::basic_string<char, std::char_traits<char>,
std::allocator<char> > >, std::allocator<std::pair<const
std::basic_string<char, std::char_traits<char>, std::allocator<char> >,
std::basic_string<char, std::char_traits<char>, std::allocator<char> > >
> >]’
/usr/include/boost/archive/detail/oserializer.hpp:322: instantiated from
‘static void boost::archive::detail::save_non_pointer_type<Archive,
T>::invoke(Archive&, const T&) [with Archive =
boost::archive::xml_oarchive, T = std::map<std::basic_string<char,
std::char_traits<char>, std::allocator<char> >, std::basic_string<char,
std::char_traits<char>, std::allocator<char> >,
std::less<std::basic_string<char, std::char_traits<char>,
std::allocator<char> > >, std::allocator<std::pair<const
std::basic_string<char, std::char_traits<char>, std::allocator<char> >,
std::basic_string<char, std::char_traits<char>, std::allocator<char> > >
> >]’
/usr/include/boost/archive/detail/oserializer.hpp:536: instantiated from
‘void boost::archive::save(Archive&, const T&) [with Archive =
boost::archive::xml_oarchive, T = std::map<std::basic_string<char,
std::char_traits<char>, std::allocator<char> >, std::basic_string<char,
std::char_traits<char>, std::allocator<char> >,
std::less<std::basic_string<char, std::char_traits<char>,
std::allocator<char> > >, std::allocator<std::pair<const
std::basic_string<char, std::char_traits<char>, std::allocator<char> >,
std::basic_string<char, std::char_traits<char>, std::allocator<char> > >
> >]’
/usr/include/boost/archive/basic_xml_oarchive.hpp:99: instantiated from
‘void boost::archive::basic_xml_oarchive<Archive>::save_override(const
boost::serialization::nvp<T>&, int) [with T =
std::map<std::basic_string<char, std::char_traits<char>,
std::allocator<char> >, std::basic_string<char, std::char_traits<char>,
std::allocator<char> >, std::less<std::basic_string<char,
std::char_traits<char>, std::allocator<char> > >,
std::allocator<std::pair<const std::basic_string<char,
std::char_traits<char>, std::allocator<char> >, std::basic_string<char,
std::char_traits<char>, std::allocator<char> > > > >, Archive =
boost::archive::xml_oarchive]’
/usr/include/boost/archive/detail/interface_oarchive.hpp:78:
instantiated from ‘Archive&
boost::archive::detail::interface_oarchive<Archive>::operator<<(T&)
[with T = const
boost::serialization::nvp<std::map<std::basic_string<char,
std::char_traits<char>, std::allocator<char> >, std::basic_string<char,
std::char_traits<char>, std::allocator<char> >,
std::less<std::basic_string<char, std::char_traits<char>,
std::allocator<char> > >, std::allocator<std::pair<const
std::basic_string<char, std::char_traits<char>, std::allocator<char> >,
std::basic_string<char, std::char_traits<char>, std::allocator<char> > >
> > >, Archive = boost::archive::xml_oarchive]’
/usr/include/boost/archive/detail/interface_oarchive.hpp:86:
instantiated from ‘Archive&
boost::archive::detail::interface_oarchive<Archive>::operator&(T&) [with
T = const boost::serialization::nvp<std::map<std::basic_string<char,
std::char_traits<char>, std::allocator<char> >, std::basic_string<char,
std::char_traits<char>, std::allocator<char> >,
std::less<std::basic_string<char, std::char_traits<char>,
std::allocator<char> > >, std::allocator<std::pair<const
std::basic_string<char, std::char_traits<char>, std::allocator<char> >,
std::basic_string<char, std::char_traits<char>, std::allocator<char> > >
> > >, Archive = boost::archive::xml_oarchive]’
boost_s_map.cpp:43: instantiated from ‘void demo::serialize(Archive&,
unsigned int) [with Archive = boost::archive::xml_oarchive]’
/usr/include/boost/serialization/access.hpp:109: instantiated from
‘static void boost::serialization::access::serialize(Archive&, T&,
unsigned int) [with Archive = boost::archive::xml_oarchive, T = demo]’
/usr/include/boost/serialization/serialization.hpp:81: instantiated from
‘void boost::serialization::serialize(Archive&, T&, unsigned int) [with
Archive = boost::archive::xml_oarchive, T = demo]’
/usr/include/boost/serialization/serialization.hpp:140: instantiated
from ‘void boost::serialization::serialize_adl(Archive&, T&, unsigned
int) [with Archive = boost::archive::xml_oarchive, T = demo]’
/usr/include/boost/archive/detail/oserializer.hpp:148: instantiated from
‘void boost::archive::detail::oserializer<Archive,
T>::save_object_data(boost::archive::detail::basic_oarchive&, const
void*) const [with Archive = boost::archive::xml_oarchive, T = demo]’
boost_s_map.cpp:68: instantiated from here
/usr/include/boost/archive/detail/oserializer.hpp:107: error: incomplete
type
‘boost::serialization::extended_type_info_null<std::map<std::basic_string<char,
std::char_traits<char>, std::allocator<char> >, std::basic_string<char,
std::char_traits<char>, std::allocator<char> >,
std::less<std::basic_string<char, std::char_traits<char>,
std::allocator<char> > >, std::allocator<std::pair<const
std::basic_string<char, std::char_traits<char>, std::allocator<char> >,
std::basic_string<char, std::char_traits<char>, std::allocator<char> > >
> > >’ used in nested name specifier
/usr/include/boost/archive/detail/iserializer.hpp: In constructor
‘boost::archive::detail::iserializer<Archive, T>::iserializer() [with
Archive = boost::archive::xml_iarchive, T =
std::map<std::basic_string<char, std::char_traits<char>,
std::allocator<char> >, std::basic_string<char, std::char_traits<char>,
std::allocator<char> >, std::less<std::basic_string<char,
std::char_traits<char>, std::allocator<char> > >,
std::allocator<std::pair<const std::basic_string<char,
std::char_traits<char>, std::allocator<char> >, std::basic_string<char,
std::char_traits<char>, std::allocator<char> > > > >]’:
/usr/include/boost/archive/detail/iserializer.hpp:146: instantiated from
‘static boost::archive::detail::iserializer<Archive, T>&
boost::archive::detail::iserializer<Archive, T>::instantiate() [with
Archive = boost::archive::xml_iarchive, T =
std::map<std::basic_string<char, std::char_traits<char>,
std::allocator<char> >, std::basic_string<char, std::char_traits<char>,
std::allocator<char> >, std::less<std::basic_string<char,
std::char_traits<char>, std::allocator<char> > >,
std::allocator<std::pair<const std::basic_string<char,
std::char_traits<char>, std::allocator<char> >, std::basic_string<char,
std::char_traits<char>, std::allocator<char> > > > >]’
/usr/include/boost/archive/detail/iserializer.hpp:375: instantiated from
‘static void boost::archive::detail::load_non_pointer_type<Archive,
T>::load_standard::invoke(Archive&, T&) [with Archive =
boost::archive::xml_iarchive, T = std::map<std::basic_string<char,
std::char_traits<char>, std::allocator<char> >, std::basic_string<char,
std::char_traits<char>, std::allocator<char> >,
std::less<std::basic_string<char, std::char_traits<char>,
std::allocator<char> > >, std::allocator<std::pair<const
std::basic_string<char, std::char_traits<char>, std::allocator<char> >,
std::basic_string<char, std::char_traits<char>, std::allocator<char> > >
> >]’
/usr/include/boost/archive/detail/iserializer.hpp:425: instantiated from
‘static void boost::archive::detail::load_non_pointer_type<Archive,
T>::invoke(Archive&, T&) [with Archive = boost::archive::xml_iarchive, T
= std::map<std::basic_string<char, std::char_traits<char>,
std::allocator<char> >, std::basic_string<char, std::char_traits<char>,
std::allocator<char> >, std::less<std::basic_string<char,
std::char_traits<char>, std::allocator<char> > >,
std::allocator<std::pair<const std::basic_string<char,
std::char_traits<char>, std::allocator<char> >, std::basic_string<char,
std::char_traits<char>, std::allocator<char> > > > >]’
/usr/include/boost/archive/detail/iserializer.hpp:572: instantiated from
‘void boost::archive::load(Archive&, T&) [with Archive =
boost::archive::xml_iarchive, T = std::map<std::basic_string<char,
std::char_traits<char>, std::allocator<char> >, std::basic_string<char,
std::char_traits<char>, std::allocator<char> >,
std::less<std::basic_string<char, std::char_traits<char>,
std::allocator<char> > >, std::allocator<std::pair<const
std::basic_string<char, std::char_traits<char>, std::allocator<char> >,
std::basic_string<char, std::char_traits<char>, std::allocator<char> > >
> >]’
/usr/include/boost/archive/basic_xml_iarchive.hpp:80: instantiated from
‘void boost::archive::basic_xml_iarchive<Archive>::load_override(const
boost::serialization::nvp<T>&, int) [with T =
std::map<std::basic_string<char, std::char_traits<char>,
std::allocator<char> >, std::basic_string<char, std::char_traits<char>,
std::allocator<char> >, std::less<std::basic_string<char,
std::char_traits<char>, std::allocator<char> > >,
std::allocator<std::pair<const std::basic_string<char,
std::char_traits<char>, std::allocator<char> >, std::basic_string<char,
std::char_traits<char>, std::allocator<char> > > > >, Archive =
boost::archive::xml_iarchive]’
/usr/include/boost/archive/xml_iarchive.hpp:74: instantiated from ‘void
boost::archive::xml_iarchive_impl<Archive>::load_override(T&, int) [with
T = const boost::serialization::nvp<std::map<std::basic_string<char,
std::char_traits<char>, std::allocator<char> >, std::basic_string<char,
std::char_traits<char>, std::allocator<char> >,
std::less<std::basic_string<char, std::char_traits<char>,
std::allocator<char> > >, std::allocator<std::pair<const
std::basic_string<char, std::char_traits<char>, std::allocator<char> >,
std::basic_string<char, std::char_traits<char>, std::allocator<char> > >
> > >, Archive = boost::archive::xml_iarchive]’
/usr/include/boost/archive/detail/interface_iarchive.hpp:76:
instantiated from ‘Archive&
boost::archive::detail::interface_iarchive<Archive>::operator>>(T&)
[with T = const
boost::serialization::nvp<std::map<std::basic_string<char,
std::char_traits<char>, std::allocator<char> >, std::basic_string<char,
std::char_traits<char>, std::allocator<char> >,
std::less<std::basic_string<char, std::char_traits<char>,
std::allocator<char> > >, std::allocator<std::pair<const
std::basic_string<char, std::char_traits<char>, std::allocator<char> >,
std::basic_string<char, std::char_traits<char>, std::allocator<char> > >
> > >, Archive = boost::archive::xml_iarchive]’
/usr/include/boost/archive/detail/interface_iarchive.hpp:83:
instantiated from ‘Archive&
boost::archive::detail::interface_iarchive<Archive>::operator&(T&) [with
T = const boost::serialization::nvp<std::map<std::basic_string<char,
std::char_traits<char>, std::allocator<char> >, std::basic_string<char,
std::char_traits<char>, std::allocator<char> >,
std::less<std::basic_string<char, std::char_traits<char>,
std::allocator<char> > >, std::allocator<std::pair<const
std::basic_string<char, std::char_traits<char>, std::allocator<char> >,
std::basic_string<char, std::char_traits<char>, std::allocator<char> > >
> > >, Archive = boost::archive::xml_iarchive]’
boost_s_map.cpp:43: instantiated from ‘void demo::serialize(Archive&,
unsigned int) [with Archive = boost::archive::xml_iarchive]’
/usr/include/boost/serialization/access.hpp:109: instantiated from
‘static void boost::serialization::access::serialize(Archive&, T&,
unsigned int) [with Archive = boost::archive::xml_iarchive, T = demo]’
/usr/include/boost/serialization/serialization.hpp:81: instantiated from
‘void boost::serialization::serialize(Archive&, T&, unsigned int) [with
Archive = boost::archive::xml_iarchive, T = demo]’
/usr/include/boost/serialization/serialization.hpp:140: instantiated
from ‘void boost::serialization::serialize_adl(Archive&, T&, unsigned
int) [with Archive = boost::archive::xml_iarchive, T = demo]’
/usr/include/boost/archive/detail/iserializer.hpp:160: instantiated from
‘void boost::archive::detail::iserializer<Archive,
T>::load_object_data(boost::archive::detail::basic_iarchive&, void*,
unsigned int) const [with Archive = boost::archive::xml_iarchive, T = demo]’
boost_s_map.cpp:68: instantiated from here
/usr/include/boost/archive/detail/iserializer.hpp:114: error: incomplete
type
‘boost::serialization::extended_type_info_null<std::map<std::basic_string<char,
std::char_traits<char>, std::allocator<char> >, std::basic_string<char,
std::char_traits<char>, std::allocator<char> >,
std::less<std::basic_string<char, std::char_traits<char>,
std::allocator<char> > >, std::allocator<std::pair<const
std::basic_string<char, std::char_traits<char>, std::allocator<char> >,
std::basic_string<char, std::char_traits<char>, std::allocator<char> > >
> > >’ used in nested name specifier
/usr/include/boost/archive/detail/iserializer.hpp: In member function
‘bool boost::archive::detail::iserializer<Archive, T>::is_polymorphic()
const [with Archive = boost::archive::xml_iarchive, T =
std::map<std::basic_string<char, std::char_traits<char>,
std::allocator<char> >, std::basic_string<char, std::char_traits<char>,
std::allocator<char> >, std::less<std::basic_string<char,
std::char_traits<char>, std::allocator<char> > >,
std::allocator<std::pair<const std::basic_string<char,
std::char_traits<char>, std::allocator<char> >, std::basic_string<char,
std::char_traits<char>, std::allocator<char> > > > >]’:
boost_s_map.cpp:68: instantiated from here
/usr/include/boost/archive/detail/iserializer.hpp:142: error: invalid
use of undefined type ‘struct
boost::serialization::extended_type_info_null<std::map<std::basic_string<char,
std::char_traits<char>, std::allocator<char> >, std::basic_string<char,
std::char_traits<char>, std::allocator<char> >,
std::less<std::basic_string<char, std::char_traits<char>,
std::allocator<char> > >, std::allocator<std::pair<const
std::basic_string<char, std::char_traits<char>, std::allocator<char> >,
std::basic_string<char, std::char_traits<char>, std::allocator<char> > >
> > >’
/usr/include/boost/serialization/type_info_implementation.hpp:26: error:
declaration of ‘struct
boost::serialization::extended_type_info_null<std::map<std::basic_string<char,
std::char_traits<char>, std::allocator<char> >, std::basic_string<char,
std::char_traits<char>, std::allocator<char> >,
std::less<std::basic_string<char, std::char_traits<char>,
std::allocator<char> > >, std::allocator<std::pair<const
std::basic_string<char, std::char_traits<char>, std::allocator<char> >,
std::basic_string<char, std::char_traits<char>, std::allocator<char> > >
> > >’
/usr/include/boost/archive/detail/iserializer.hpp:143: error: invalid
use of undefined type ‘struct
boost::serialization::extended_type_info_null<std::map<std::basic_string<char,
std::char_traits<char>, std::allocator<char> >, std::basic_string<char,
std::char_traits<char>, std::allocator<char> >,
std::less<std::basic_string<char, std::char_traits<char>,
std::allocator<char> > >, std::allocator<std::pair<const
std::basic_string<char, std::char_traits<char>, std::allocator<char> >,
std::basic_string<char, std::char_traits<char>, std::allocator<char> > >
> > >’
/usr/include/boost/serialization/type_info_implementation.hpp:26: error:
declaration of ‘struct
boost::serialization::extended_type_info_null<std::map<std::basic_string<char,
std::char_traits<char>, std::allocator<char> >, std::basic_string<char,
std::char_traits<char>, std::allocator<char> >,
std::less<std::basic_string<char, std::char_traits<char>,
std::allocator<char> > >, std::allocator<std::pair<const
std::basic_string<char, std::char_traits<char>, std::allocator<char> >,
std::basic_string<char, std::char_traits<char>, std::allocator<char> > >
> > >’
/usr/include/boost/archive/detail/oserializer.hpp: In member function
‘bool boost::archive::detail::oserializer<Archive, T>::is_polymorphic()
const [with Archive = boost::archive::xml_oarchive, T =
std::map<std::basic_string<char, std::char_traits<char>,
std::allocator<char> >, std::basic_string<char, std::char_traits<char>,
std::allocator<char> >, std::less<std::basic_string<char,
std::char_traits<char>, std::allocator<char> > >,
std::allocator<std::pair<const std::basic_string<char,
std::char_traits<char>, std::allocator<char> >, std::basic_string<char,
std::char_traits<char>, std::allocator<char> > > > >]’:
boost_s_map.cpp:68: instantiated from here
/usr/include/boost/archive/detail/oserializer.hpp:131: error: invalid
use of undefined type ‘struct
boost::serialization::extended_type_info_null<std::map<std::basic_string<char,
std::char_traits<char>, std::allocator<char> >, std::basic_string<char,
std::char_traits<char>, std::allocator<char> >,
std::less<std::basic_string<char, std::char_traits<char>,
std::allocator<char> > >, std::allocator<std::pair<const
std::basic_string<char, std::char_traits<char>, std::allocator<char> >,
std::basic_string<char, std::char_traits<char>, std::allocator<char> > >
> > >’
/usr/include/boost/serialization/type_info_implementation.hpp:26: error:
declaration of ‘struct
boost::serialization::extended_type_info_null<std::map<std::basic_string<char,
std::char_traits<char>, std::allocator<char> >, std::basic_string<char,
std::char_traits<char>, std::allocator<char> >,
std::less<std::basic_string<char, std::char_traits<char>,
std::allocator<char> > >, std::allocator<std::pair<const
std::basic_string<char, std::char_traits<char>, std::allocator<char> >,
std::basic_string<char, std::char_traits<char>, std::allocator<char> > >
> > >’
/usr/include/boost/archive/detail/oserializer.hpp:132: error: invalid
use of undefined type ‘struct
boost::serialization::extended_type_info_null<std::map<std::basic_string<char,
std::char_traits<char>, std::allocator<char> >, std::basic_string<char,
std::char_traits<char>, std::allocator<char> >,
std::less<std::basic_string<char, std::char_traits<char>,
std::allocator<char> > >, std::allocator<std::pair<const
std::basic_string<char, std::char_traits<char>, std::allocator<char> >,
std::basic_string<char, std::char_traits<char>, std::allocator<char> > >
> > >’
/usr/include/boost/serialization/type_info_implementation.hpp:26: error:
declaration of ‘struct
boost::serialization::extended_type_info_null<std::map<std::basic_string<char,
std::char_traits<char>, std::allocator<char> >, std::basic_string<char,
std::char_traits<char>, std::allocator<char> >,
std::less<std::basic_string<char, std::char_traits<char>,
std::allocator<char> > >, std::allocator<std::pair<const
std::basic_string<char, std::char_traits<char>, std::allocator<char> >,
std::basic_string<char, std::char_traits<char>, std::allocator<char> > >
> > >’
/usr/include/boost/archive/detail/oserializer.hpp: In constructor
‘boost::archive::detail::oserializer<Archive, T>::oserializer() [with
Archive = boost::archive::xml_oarchive, T = std::pair<const
std::basic_string<char, std::char_traits<char>, std::allocator<char> >,
std::basic_string<char, std::char_traits<char>, std::allocator<char> > >]’:
/usr/include/boost/archive/detail/oserializer.hpp:135: instantiated from
‘static boost::archive::detail::oserializer<Archive, T>&
boost::archive::detail::oserializer<Archive, T>::instantiate() [with
Archive = boost::archive::xml_oarchive, T = std::pair<const
std::basic_string<char, std::char_traits<char>, std::allocator<char> >,
std::basic_string<char, std::char_traits<char>, std::allocator<char> > >]’
/usr/include/boost/archive/detail/oserializer.hpp:264: instantiated from
‘static void boost::archive::detail::save_non_pointer_type<Archive,
T>::save_standard::invoke(Archive&, const T&) [with Archive =
boost::archive::xml_oarchive, T = std::pair<const
std::basic_string<char, std::char_traits<char>, std::allocator<char> >,
std::basic_string<char, std::char_traits<char>, std::allocator<char> > >]’
/usr/include/boost/archive/detail/oserializer.hpp:322: instantiated from
‘static void boost::archive::detail::save_non_pointer_type<Archive,
T>::invoke(Archive&, const T&) [with Archive =
boost::archive::xml_oarchive, T = std::pair<const
std::basic_string<char, std::char_traits<char>, std::allocator<char> >,
std::basic_string<char, std::char_traits<char>, std::allocator<char> > >]’
/usr/include/boost/archive/detail/oserializer.hpp:536: instantiated from
‘void boost::archive::save(Archive&, const T&) [with Archive =
boost::archive::xml_oarchive, T = std::pair<const
std::basic_string<char, std::char_traits<char>, std::allocator<char> >,
std::basic_string<char, std::char_traits<char>, std::allocator<char> > >]’
/usr/include/boost/archive/basic_xml_oarchive.hpp:99: instantiated from
‘void boost::archive::basic_xml_oarchive<Archive>::save_override(const
boost::serialization::nvp<T>&, int) [with T = const std::pair<const
std::basic_string<char, std::char_traits<char>, std::allocator<char> >,
std::basic_string<char, std::char_traits<char>, std::allocator<char> >
>, Archive = boost::archive::xml_oarchive]’
/usr/include/boost/archive/detail/interface_oarchive.hpp:78:
instantiated from ‘Archive&
boost::archive::detail::interface_oarchive<Archive>::operator<<(T&)
[with T = const boost::serialization::nvp<const std::pair<const
std::basic_string<char, std::char_traits<char>, std::allocator<char> >,
std::basic_string<char, std::char_traits<char>, std::allocator<char> > >
>, Archive = boost::archive::xml_oarchive]’
/usr/include/boost/serialization/collections_save_imp.hpp:43:
instantiated from ‘void
boost::serialization::stl::save_collection(Archive&, const Container&)
[with Archive = boost::archive::xml_oarchive, Container =
std::map<std::basic_string<char, std::char_traits<char>,
std::allocator<char> >, std::basic_string<char, std::char_traits<char>,
std::allocator<char> >, std::less<std::basic_string<char,
std::char_traits<char>, std::allocator<char> > >,
std::allocator<std::pair<const std::basic_string<char,
std::char_traits<char>, std::allocator<char> >, std::basic_string<char,
std::char_traits<char>, std::allocator<char> > > > >]’
/usr/include/boost/serialization/map.hpp:46: instantiated from ‘void
boost::serialization::save(Archive&, const std::map<Key, Type, Compare,
Allocator>&, unsigned int) [with Archive = boost::archive::xml_oarchive,
Type = std::basic_string<char, std::char_traits<char>,
std::allocator<char> >, Key = std::basic_string<char,
std::char_traits<char>, std::allocator<char> >, Compare =
std::less<std::basic_string<char, std::char_traits<char>,
std::allocator<char> > >, Allocator = std::allocator<std::pair<const
std::basic_string<char, std::char_traits<char>, std::allocator<char> >,
std::basic_string<char, std::char_traits<char>, std::allocator<char> > > >]’
/usr/include/boost/serialization/split_free.hpp:45: instantiated from
‘static void boost::serialization::free_saver<Archive,
T>::invoke(Archive&, const T&, unsigned int) [with Archive =
boost::archive::xml_oarchive, T = std::map<std::basic_string<char,
std::char_traits<char>, std::allocator<char> >, std::basic_string<char,
std::char_traits<char>, std::allocator<char> >,
std::less<std::basic_string<char, std::char_traits<char>,
std::allocator<char> > >, std::allocator<std::pair<const
std::basic_string<char, std::char_traits<char>, std::allocator<char> >,
std::basic_string<char, std::char_traits<char>, std::allocator<char> > >
> >]’
/usr/include/boost/serialization/split_free.hpp:74: instantiated from
‘void boost::serialization::split_free(Archive&, T&, unsigned int) [with
Archive = boost::archive::xml_oarchive, T =
std::map<std::basic_string<char, std::char_traits<char>,
std::allocator<char> >, std::basic_string<char, std::char_traits<char>,
std::allocator<char> >, std::less<std::basic_string<char,
std::char_traits<char>, std::allocator<char> > >,
std::allocator<std::pair<const std::basic_string<char,
std::char_traits<char>, std::allocator<char> >, std::basic_string<char,
std::char_traits<char>, std::allocator<char> > > > >]’
/usr/include/boost/serialization/map.hpp:78: instantiated from ‘void
boost::serialization::serialize(Archive&, std::map<Key, Type, Compare,
Allocator>&, unsigned int) [with Archive = boost::archive::xml_oarchive,
Type = std::basic_string<char, std::char_traits<char>,
std::allocator<char> >, Key = std::basic_string<char,
std::char_traits<char>, std::allocator<char> >, Compare =
std::less<std::basic_string<char, std::char_traits<char>,
std::allocator<char> > >, Allocator = std::allocator<std::pair<const
std::basic_string<char, std::char_traits<char>, std::allocator<char> >,
std::basic_string<char, std::char_traits<char>, std::allocator<char> > > >]’
/usr/include/boost/serialization/serialization.hpp:140: instantiated
from ‘void boost::serialization::serialize_adl(Archive&, T&, unsigned
int) [with Archive = boost::archive::xml_oarchive, T =
std::map<std::basic_string<char, std::char_traits<char>,
std::allocator<char> >, std::basic_string<char, std::char_traits<char>,
std::allocator<char> >, std::less<std::basic_string<char,
std::char_traits<char>, std::allocator<char> > >,
std::allocator<std::pair<const std::basic_string<char,
std::char_traits<char>, std::allocator<char> >, std::basic_string<char,
std::char_traits<char>, std::allocator<char> > > > >]’
/usr/include/boost/archive/detail/oserializer.hpp:148: instantiated from
‘void boost::archive::detail::oserializer<Archive,
T>::save_object_data(boost::archive::detail::basic_oarchive&, const
void*) const [with Archive = boost::archive::xml_oarchive, T =
std::map<std::basic_string<char, std::char_traits<char>,
std::allocator<char> >, std::basic_string<char, std::char_traits<char>,
std::allocator<char> >, std::less<std::basic_string<char,
std::char_traits<char>, std::allocator<char> > >,
std::allocator<std::pair<const std::basic_string<char,
std::char_traits<char>, std::allocator<char> >, std::basic_string<char,
std::char_traits<char>, std::allocator<char> > > > >]’
boost_s_map.cpp:68: instantiated from here
/usr/include/boost/archive/detail/oserializer.hpp:107: error: incomplete
type ‘boost::serialization::extended_type_info_null<std::pair<const
std::basic_string<char, std::char_traits<char>, std::allocator<char> >,
std::basic_string<char, std::char_traits<char>, std::allocator<char> > >
>’ used in nested name specifier
/usr/include/boost/archive/detail/iserializer.hpp: In constructor
‘boost::archive::detail::iserializer<Archive, T>::iserializer() [with
Archive = boost::archive::xml_iarchive, T = std::pair<const
std::basic_string<char, std::char_traits<char>, std::allocator<char> >,
std::basic_string<char, std::char_traits<char>, std::allocator<char> > >]’:
/usr/include/boost/archive/detail/iserializer.hpp:146: instantiated from
‘static boost::archive::detail::iserializer<Archive, T>&
boost::archive::detail::iserializer<Archive, T>::instantiate() [with
Archive = boost::archive::xml_iarchive, T = std::pair<const
std::basic_string<char, std::char_traits<char>, std::allocator<char> >,
std::basic_string<char, std::char_traits<char>, std::allocator<char> > >]’
/usr/include/boost/archive/detail/iserializer.hpp:375: instantiated from
‘static void boost::archive::detail::load_non_pointer_type<Archive,
T>::load_standard::invoke(Archive&, T&) [with Archive =
boost::archive::xml_iarchive, T = std::pair<const
std::basic_string<char, std::char_traits<char>, std::allocator<char> >,
std::basic_string<char, std::char_traits<char>, std::allocator<char> > >]’
/usr/include/boost/archive/detail/iserializer.hpp:425: instantiated from
‘static void boost::archive::detail::load_non_pointer_type<Archive,
T>::invoke(Archive&, T&) [with Archive = boost::archive::xml_iarchive, T
= std::pair<const std::basic_string<char, std::char_traits<char>,
std::allocator<char> >, std::basic_string<char, std::char_traits<char>,
std::allocator<char> > >]’
/usr/include/boost/archive/detail/iserializer.hpp:572: instantiated from
‘void boost::archive::load(Archive&, T&) [with Archive =
boost::archive::xml_iarchive, T = std::pair<const
std::basic_string<char, std::char_traits<char>, std::allocator<char> >,
std::basic_string<char, std::char_traits<char>, std::allocator<char> > >]’
/usr/include/boost/archive/basic_xml_iarchive.hpp:80: instantiated from
‘void boost::archive::basic_xml_iarchive<Archive>::load_override(const
boost::serialization::nvp<T>&, int) [with T = std::pair<const
std::basic_string<char, std::char_traits<char>, std::allocator<char> >,
std::basic_string<char, std::char_traits<char>, std::allocator<char> >
>, Archive = boost::archive::xml_iarchive]’
/usr/include/boost/archive/xml_iarchive.hpp:74: instantiated from ‘void
boost::archive::xml_iarchive_impl<Archive>::load_override(T&, int) [with
T = const boost::serialization::nvp<std::pair<const
std::basic_string<char, std::char_traits<char>, std::allocator<char> >,
std::basic_string<char, std::char_traits<char>, std::allocator<char> > >
>, Archive = boost::archive::xml_iarchive]’
/usr/include/boost/archive/detail/interface_iarchive.hpp:76:
instantiated from ‘Archive&
boost::archive::detail::interface_iarchive<Archive>::operator>>(T&)
[with T = const boost::serialization::nvp<std::pair<const
std::basic_string<char, std::char_traits<char>, std::allocator<char> >,
std::basic_string<char, std::char_traits<char>, std::allocator<char> > >
>, Archive = boost::archive::xml_iarchive]’
/usr/include/boost/serialization/collections_load_imp.hpp:66:
instantiated from ‘void
boost::serialization::stl::archive_input_map<Archive,
Container>::operator()(Archive&, Container&) [with Archive =
boost::archive::xml_iarchive, Container =
std::map<std::basic_string<char, std::char_traits<char>,
std::allocator<char> >, std::basic_string<char, std::char_traits<char>,
std::allocator<char> >, std::less<std::basic_string<char,
std::char_traits<char>, std::allocator<char> > >,
std::allocator<std::pair<const std::basic_string<char,
std::char_traits<char>, std::allocator<char> >, std::basic_string<char,
std::char_traits<char>, std::allocator<char> > > > >]’
/usr/include/boost/serialization/collections_load_imp.hpp:149:
instantiated from ‘void
boost::serialization::stl::rebuild_collection(Archive&, Container&)
[with Archive = boost::archive::xml_iarchive, Container =
std::map<std::basic_string<char, std::char_traits<char>,
std::allocator<char> >, std::basic_string<char, std::char_traits<char>,
std::allocator<char> >, std::less<std::basic_string<char,
std::char_traits<char>, std::allocator<char> > >,
std::allocator<std::pair<const std::basic_string<char,
std::char_traits<char>, std::allocator<char> >, std::basic_string<char,
std::char_traits<char>, std::allocator<char> > > > >, InputFunction =
boost::serialization::stl::archive_input_map<boost::archive::xml_iarchive,
std::map<std::basic_string<char, std::char_traits<char>,
std::allocator<char> >, std::basic_string<char, std::char_traits<char>,
std::allocator<char> >, std::less<std::basic_string<char,
std::char_traits<char>, std::allocator<char> > >,
std::allocator<std::pair<const std::basic_string<char,
std::char_traits<char>, std::allocator<char> >, std::basic_string<char,
std::char_traits<char>, std::allocator<char> > > > > >, R =
boost::serialization::stl::no_reserve_imp<std::map<std::basic_string<char,
std::char_traits<char>, std::allocator<char> >, std::basic_string<char,
std::char_traits<char>, std::allocator<char> >,
std::less<std::basic_string<char, std::char_traits<char>,
std::allocator<char> > >, std::allocator<std::pair<const
std::basic_string<char, std::char_traits<char>, std::allocator<char> >,
std::basic_string<char, std::char_traits<char>, std::allocator<char> > >
> > >]’
/usr/include/boost/serialization/collections_load_imp.hpp:171:
instantiated from ‘void
boost::serialization::stl::load_collection(Archive&, Container&) [with
Archive = boost::archive::xml_iarchive, Container =
std::map<std::basic_string<char, std::char_traits<char>,
std::allocator<char> >, std::basic_string<char, std::char_traits<char>,
std::allocator<char> >, std::less<std::basic_string<char,
std::char_traits<char>, std::allocator<char> > >,
std::allocator<std::pair<const std::basic_string<char,
std::char_traits<char>, std::allocator<char> >, std::basic_string<char,
std::char_traits<char>, std::allocator<char> > > > >, InputFunction =
boost::serialization::stl::archive_input_map<boost::archive::xml_iarchive,
std::map<std::basic_string<char, std::char_traits<char>,
std::allocator<char> >, std::basic_string<char, std::char_traits<char>,
std::allocator<char> >, std::less<std::basic_string<char,
std::char_traits<char>, std::allocator<char> > >,
std::allocator<std::pair<const std::basic_string<char,
std::char_traits<char>, std::allocator<char> >, std::basic_string<char,
std::char_traits<char>, std::allocator<char> > > > > >, R =
boost::serialization::stl::no_reserve_imp<std::map<std::basic_string<char,
std::char_traits<char>, std::allocator<char> >, std::basic_string<char,
std::char_traits<char>, std::allocator<char> >,
std::less<std::basic_string<char, std::char_traits<char>,
std::allocator<char> > >, std::allocator<std::pair<const
std::basic_string<char, std::char_traits<char>, std::allocator<char> >,
std::basic_string<char, std::char_traits<char>, std::allocator<char> > >
> > >]’
/usr/include/boost/serialization/map.hpp:58: instantiated from ‘void
boost::serialization::load(Archive&, std::map<Key, Type, Compare,
Allocator>&, unsigned int) [with Archive = boost::archive::xml_iarchive,
Type = std::basic_string<char, std::char_traits<char>,
std::allocator<char> >, Key = std::basic_string<char,
std::char_traits<char>, std::allocator<char> >, Compare =
std::less<std::basic_string<char, std::char_traits<char>,
std::allocator<char> > >, Allocator = std::allocator<std::pair<const
std::basic_string<char, std::char_traits<char>, std::allocator<char> >,
std::basic_string<char, std::char_traits<char>, std::allocator<char> > > >]’
/usr/include/boost/serialization/split_free.hpp:58: instantiated from
‘static void boost::serialization::free_loader<Archive,
T>::invoke(Archive&, T&, unsigned int) [with Archive =
boost::archive::xml_iarchive, T = std::map<std::basic_string<char,
std::char_traits<char>, std::allocator<char> >, std::basic_string<char,
std::char_traits<char>, std::allocator<char> >,
std::less<std::basic_string<char, std::char_traits<char>,
std::allocator<char> > >, std::allocator<std::pair<const
std::basic_string<char, std::char_traits<char>, std::allocator<char> >,
std::basic_string<char, std::char_traits<char>, std::allocator<char> > >
> >]’
/usr/include/boost/serialization/split_free.hpp:74: instantiated from
‘void boost::serialization::split_free(Archive&, T&, unsigned int) [with
Archive = boost::archive::xml_iarchive, T =
std::map<std::basic_string<char, std::char_traits<char>,
std::allocator<char> >, std::basic_string<char, std::char_traits<char>,
std::allocator<char> >, std::less<std::basic_string<char,
std::char_traits<char>, std::allocator<char> > >,
std::allocator<std::pair<const std::basic_string<char,
std::char_traits<char>, std::allocator<char> >, std::basic_string<char,
std::char_traits<char>, std::allocator<char> > > > >]’
/usr/include/boost/serialization/map.hpp:78: instantiated from ‘void
boost::serialization::serialize(Archive&, std::map<Key, Type, Compare,
Allocator>&, unsigned int) [with Archive = boost::archive::xml_iarchive,
Type = std::basic_string<char, std::char_traits<char>,
std::allocator<char> >, Key = std::basic_string<char,
std::char_traits<char>, std::allocator<char> >, Compare =
std::less<std::basic_string<char, std::char_traits<char>,
std::allocator<char> > >, Allocator = std::allocator<std::pair<const
std::basic_string<char, std::char_traits<char>, std::allocator<char> >,
std::basic_string<char, std::char_traits<char>, std::allocator<char> > > >]’
/usr/include/boost/serialization/serialization.hpp:140: instantiated
from ‘void boost::serialization::serialize_adl(Archive&, T&, unsigned
int) [with Archive = boost::archive::xml_iarchive, T =
std::map<std::basic_string<char, std::char_traits<char>,
std::allocator<char> >, std::basic_string<char, std::char_traits<char>,
std::allocator<char> >, std::less<std::basic_string<char,
std::char_traits<char>, std::allocator<char> > >,
std::allocator<std::pair<const std::basic_string<char,
std::char_traits<char>, std::allocator<char> >, std::basic_string<char,
std::char_traits<char>, std::allocator<char> > > > >]’
/usr/include/boost/archive/detail/iserializer.hpp:160: instantiated from
‘void boost::archive::detail::iserializer<Archive,
T>::load_object_data(boost::archive::detail::basic_iarchive&, void*,
unsigned int) const [with Archive = boost::archive::xml_iarchive, T =
std::map<std::basic_string<char, std::char_traits<char>,
std::allocator<char> >, std::basic_string<char, std::char_traits<char>,
std::allocator<char> >, std::less<std::basic_string<char,
std::char_traits<char>, std::allocator<char> > >,
std::allocator<std::pair<const std::basic_string<char,
std::char_traits<char>, std::allocator<char> >, std::basic_string<char,
std::char_traits<char>, std::allocator<char> > > > >]’
boost_s_map.cpp:68: instantiated from here
/usr/include/boost/archive/detail/iserializer.hpp:114: error: incomplete
type ‘boost::serialization::extended_type_info_null<std::pair<const
std::basic_string<char, std::char_traits<char>, std::allocator<char> >,
std::basic_string<char, std::char_traits<char>, std::allocator<char> > >
>’ used in nested name specifier
/usr/include/boost/archive/detail/iserializer.hpp: In member function
‘bool boost::archive::detail::iserializer<Archive, T>::is_polymorphic()
const [with Archive = boost::archive::xml_iarchive, T = std::pair<const
std::basic_string<char, std::char_traits<char>, std::allocator<char> >,
std::basic_string<char, std::char_traits<char>, std::allocator<char> > >]’:
boost_s_map.cpp:68: instantiated from here
/usr/include/boost/archive/detail/iserializer.hpp:142: error: invalid
use of undefined type ‘struct
boost::serialization::extended_type_info_null<std::pair<const
std::basic_string<char, std::char_traits<char>, std::allocator<char> >,
std::basic_string<char, std::char_traits<char>, std::allocator<char> > > >’
/usr/include/boost/serialization/type_info_implementation.hpp:26: error:
declaration of ‘struct
boost::serialization::extended_type_info_null<std::pair<const
std::basic_string<char, std::char_traits<char>, std::allocator<char> >,
std::basic_string<char, std::char_traits<char>, std::allocator<char> > > >’
/usr/include/boost/archive/detail/iserializer.hpp:143: error: invalid
use of undefined type ‘struct
boost::serialization::extended_type_info_null<std::pair<const
std::basic_string<char, std::char_traits<char>, std::allocator<char> >,
std::basic_string<char, std::char_traits<char>, std::allocator<char> > > >’
/usr/include/boost/serialization/type_info_implementation.hpp:26: error:
declaration of ‘struct
boost::serialization::extended_type_info_null<std::pair<const
std::basic_string<char, std::char_traits<char>, std::allocator<char> >,
std::basic_string<char, std::char_traits<char>, std::allocator<char> > > >’
/usr/include/boost/archive/detail/oserializer.hpp: In member function
‘bool boost::archive::detail::oserializer<Archive, T>::is_polymorphic()
const [with Archive = boost::archive::xml_oarchive, T = std::pair<const
std::basic_string<char, std::char_traits<char>, std::allocator<char> >,
std::basic_string<char, std::char_traits<char>, std::allocator<char> > >]’:
boost_s_map.cpp:68: instantiated from here
/usr/include/boost/archive/detail/oserializer.hpp:131: error: invalid
use of undefined type ‘struct
boost::serialization::extended_type_info_null<std::pair<const
std::basic_string<char, std::char_traits<char>, std::allocator<char> >,
std::basic_string<char, std::char_traits<char>, std::allocator<char> > > >’
/usr/include/boost/serialization/type_info_implementation.hpp:26: error:
declaration of ‘struct
boost::serialization::extended_type_info_null<std::pair<const
std::basic_string<char, std::char_traits<char>, std::allocator<char> >,
std::basic_string<char, std::char_traits<char>, std::allocator<char> > > >’
/usr/include/boost/archive/detail/oserializer.hpp:132: error: invalid
use of undefined type ‘struct
boost::serialization::extended_type_info_null<std::pair<const
std::basic_string<char, std::char_traits<char>, std::allocator<char> >,
std::basic_string<char, std::char_traits<char>, std::allocator<char> > > >’
/usr/include/boost/serialization/type_info_implementation.hpp:26: error:
declaration of ‘struct
boost::serialization::extended_type_info_null<std::pair<const
std::basic_string<char, std::char_traits<char>, std::allocator<char> >,
std::basic_string<char, std::char_traits<char>, std::allocator<char> > > >’


Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net