title: how to serialize boost::uuids::uuid
body: <p>I'm currently using boost::uuids::uuid in a project and I want to serialize objects containin boost::uuids::uuid. I tried the simple example below but I get an error: </p>
  
  <p>/usr/include/boost/archive/basic_text_oprimitive.hpp:92: error: no match for ‘operator&lt;&lt;’ in ‘((boost::archive::basic_text_oprimitive >*)this)->boost::archive::basic_text_oprimitive >::os &lt;&lt; t’ </p>
  
  <p>I would really appriciate if someone could help me. </p>
  
  <pre><code>#include &lt;fstream&gt;
  #include &lt;boost/uuid/uuid.hpp&gt;
  #include &lt;boost/uuid/uuid_generators.hpp&gt;
  #include &lt;boost/uuid/uuid_serialize.hpp&gt;
  #include &lt;boost/archive/text_iarchive.hpp&gt;
  #include &lt;boost/archive/text_oarchive.hpp&gt;
  
  class classA {
  public:
      classA() : id(boost::uuids::random_generator()()) {}
  private:
      friend class boost::serialization::access;
      boost::uuids::uuid id;
      template &lt;class Archive&gt;
      void serialize(Archive&amp; ar, const unsigned int version) {
          ar &amp; id;
      }
  };
  
  int main(void) {
      classA a;
      std::ofstream ofs("uuid.txt");
      boost::archive::text_oarchive oa(ofs);
      oa &lt;&lt; a;
      ofs.close();
      return 0;
  }
  </code></pre>