Beispiel #1
0
        //! Swap operator
        void swap(wt_int_rlmn& wt) {
            if (this != &wt) {
                std::swap(m_size, wt.m_size);
                m_bl.swap(wt.m_bl);
                m_bf.swap(wt.m_bf);
                m_wt.swap(wt.m_wt);

                m_bl_rank.swap(wt.m_bl_rank);
                m_bl_rank.set_vector(&m_bl);
                wt.m_bl_rank.set_vector(&(wt.m_bl));
                m_bf_rank.swap(wt.m_bf_rank);
                m_bf_rank.set_vector(&m_bf);
                wt.m_bf_rank.set_vector(&(wt.m_bf));

                m_bl_select.swap(wt.m_bl_select);
                m_bl_select.set_vector(&m_bl);
                wt.m_bl_select.set_vector(&(wt.m_bl));
                m_bf_select.swap(wt.m_bf_select);
                m_bf_select.set_vector(&m_bf);
                wt.m_bf_select.set_vector(&(wt.m_bf));

                m_C.swap(wt.m_C);
                m_C_bf_rank.swap(wt.m_C_bf_rank);
            }
        }
Beispiel #2
0
 void copy(const wt_int_rlmn& wt) {
     m_size          = wt.m_size;
     m_bl            = wt.m_bl;
     m_bf            = wt.m_bf;
     m_wt            = wt.m_wt;
     m_bl_rank       = wt.m_bl_rank;
     m_bl_rank.set_vector(&m_bl);
     m_bf_rank       = wt.m_bf_rank;
     m_bf_rank.set_vector(&m_bf);
     m_bl_select     = wt.m_bl_select;
     m_bl_select.set_vector(&m_bl);
     m_bf_select     = wt.m_bf_select;
     m_bf_select.set_vector(&m_bf);
     m_C             = wt.m_C;
     m_C_bf_rank     = wt.m_C_bf_rank;
 }
 //! Load method
 void load(std::istream& in) {
     m_char.load(in);
     m_char_rank.load(in);
     m_char_rank.set_vector(&m_char);
     m_char_select.load(in);
     m_char_select.set_vector(&m_char);
     m_C.load(in);
     read_member(m_sigma, in);
 }
 void copy(const int_alphabet& strat) {
     m_char        = strat.m_char;
     m_char_rank   = strat.m_char_rank;
     m_char_rank.set_vector(&m_char);
     m_char_select = strat.m_char_select;
     m_char_select.set_vector(&m_char);
     m_C           = strat.m_C;
     m_sigma       = strat.m_sigma;
 }
		void copy(const succinct_byte_alphabet_strategy& strat){
			m_char			= strat.m_char;
			m_char_rank		= strat.m_char_rank;
			m_char_rank.set_vector(&m_char);
			m_char_select   = strat.m_char_select;
			m_char_select.set_vector(&m_char);
			m_C				= strat.m_C;
			m_sigma			= strat.m_sigma;
		}
 int_alphabet& operator=(int_alphabet&& strat) {
     if (this != &strat) {
         m_char        = std::move(strat.m_char);
         m_char_rank   = std::move(strat.m_char_rank);
         m_char_rank.set_vector(&m_char);
         m_char_select = std::move(strat.m_char_select);
         m_char_select.set_vector(&m_char);
         m_C           = std::move(strat.m_C);
         m_sigma       = std::move(strat.m_sigma);
     }
     return *this;
 }