示例#1
0
 //! Swap method for csa_bitcompressed
 void swap(csa_bitcompressed& csa) {
     if (this != &csa) {
         m_sa.swap(csa.m_sa);
         m_isa.swap(csa.m_isa);
         m_alphabet.swap(csa.m_alphabet);
     }
 }
示例#2
0
 void copy(const csa_wt& csa)
 {
     m_wavelet_tree = csa.m_wavelet_tree;
     m_sa_sample    = csa.m_sa_sample;
     m_isa_sample   = csa.m_isa_sample;
     m_isa_sample.set_vector(&m_sa_sample);
     m_alphabet     = csa.m_alphabet;
 }
示例#3
0
 void copy(const csa_sada& csa)
 {
     m_psi        = csa.m_psi;
     m_sa_sample  = csa.m_sa_sample;
     m_isa_sample = csa.m_isa_sample;
     m_isa_sample.set_vector(&m_sa_sample);
     m_alphabet   = csa.m_alphabet;
 };
示例#4
0
 /*! \param out Output stream to write the data structure.
  *  \return The number of written bytes.
  */
 size_type serialize(std::ostream& out, structure_tree_node* v=nullptr, std::string name="")const {
     structure_tree_node* child = structure_tree::add_child(v, name, util::class_name(*this));
     size_type written_bytes = 0;
     written_bytes += m_sa.serialize(out, child, "m_sa");
     written_bytes += m_isa.serialize(out, child, "m_isa");
     written_bytes += m_alphabet.serialize(out, child, "m_alphabet");
     structure_tree::add_size(child, written_bytes);
     return written_bytes;
 }
示例#5
0
 void load(std::istream& in) {
     m_sa.load(in);
     m_isa.load(in);
     m_alphabet.load(in);
 }