//! 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); } }
//! Swap operator void swap(int_alphabet& strat) { m_char.swap(strat.m_char); util::swap_support(m_char_rank, strat.m_char_rank, &m_char, &(strat.m_char)); util::swap_support(m_char_select, strat.m_char_select, &m_char, &(strat.m_char)); m_C.swap(strat.m_C); std::swap(m_sigma,strat.m_sigma); }
//! Swap operator void swap(succinct_byte_alphabet_strategy& strat){ m_char.swap(strat.m_char); util::swap_support(m_char_rank, strat.m_char_rank, &m_char, &(strat.m_char) ); util::swap_support(m_char_select, strat.m_char_select, &m_char, &(strat.m_char) ); m_C.swap(strat.m_C); std::swap(m_sigma,strat.m_sigma); }
void swap(louds_tree& tree) { m_bv.swap(tree.m_bv); util::swap_support(m_bv_select1, tree.m_select1, &m_bv, &(tree.m_bv)); util::swap_support(m_bv_select0, tree.m_select0, &m_bv, &(tree.m_bv)); }