//! 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); } }
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; }