boost serialization std :: unique_ptr support

Czy biblioteka do serializacji doładowań obsługuje serializację std :: unique_ptr? Próbowałem skompilować poniższy kod, ale jeśli dołączęboost :: archiwum :: text_oarchive oa (ofs); oa << g; linia

kompilator (btw gcc4.7 z flagą -std = c ++ 11) zgłasza błąd

/ usr / include / boost / serialization / access.hpp: 118: 9: error: „class std :: unique_ptr” nie ma członka o nazwie „serialize” ”

#include <iostream>
#include <memory>
#include <fstream>
#include <boost/archive/text_oarchive.hpp>
#include <boost/archive/text_iarchive.hpp>
class MyDegrees
{
public:
  void setDeg(int d){deg = d;}
  int getDeg()const {return deg;}
private:
  friend class boost::serialization::access;
    template<class Archive>
    void serialize(Archive & ar, const unsigned int version)
    { ar & deg; }
  int deg;
};
class gps_position
{
private:
    friend class boost::serialization::access;
    template<class Archive>
    void serialize(Archive & ar, const unsigned int version)
    { ar & degrees; }
    std::unique_ptr<MyDegrees> degrees;
public:
    gps_position(): degrees(std::unique_ptr<MyDegrees>(new MyDegrees)){};
    void setDeg(int d){degrees->setDeg(d);}
    int getDeg() const {return degrees->getDeg();}
};
int main()
{
    std::ofstream ofs("filename");
    gps_position g;
    g.setDeg(45);
    std::cout<<g.getDeg()<<std::endl;
    {// compiler error, fine if commented out
        boost::archive::text_oarchive oa(ofs); oa << g;
    }
  return 0;
}

questionAnswers(4)

yourAnswerToTheQuestion