use shared_ptr to store the sequence string
[mussa.git] / alg / sequence.hpp
index 0e0e2e6b2c8e42d2c91bdbbbb3f46af762f9329b..f77160cdf88b88d7cd66a4cada7c5e868f02cc42 100644 (file)
 #include <boost/serialization/list.hpp>
 #include <boost/serialization/nvp.hpp>
 #include <boost/serialization/string.hpp>
+#include <boost/serialization/shared_ptr.hpp>
 #include <boost/serialization/utility.hpp>
 #include <boost/serialization/export.hpp>
 
+#include <boost/shared_ptr.hpp>
+
 #include <list>
 #include <string>
 #include <vector>
@@ -131,9 +134,8 @@ public:
   //! clear the sequence and its annotations
   void clear();
   //! forward iterator
-  iterator begin();
   const_iterator begin() const;
-  iterator end();
+  //! last iterator
   const_iterator end() const;
   //! is our sequence empty?
   bool empty() const;
@@ -209,7 +211,7 @@ public:
   void load_museq(boost::filesystem::path load_file_path, int seq_num); 
   
 private:
-  std::string seq;
+  boost::shared_ptr<const std::string> seq;
   std::string header;
   std::string species;
 
@@ -233,6 +235,6 @@ private:
     ar & BOOST_SERIALIZATION_NVP(motif_list);
   }
 };
-BOOST_CLASS_EXPORT(Sequence);
+//BOOST_CLASS_EXPORT(Sequence);
 
 #endif