//! Serializes the data structure into the given ostream size_type serialize(std::ostream& out, sdsl::structure_tree_node* v=nullptr, std::string name="")const { sdsl::structure_tree_node* child = sdsl::structure_tree::add_child(v, name, sdsl::util::class_name(*this)); size_type written_bytes = 0; written_bytes += m_text.serialize(out, child, "text"); written_bytes += m_wt.serialize(out, child, "wt"); sdsl::structure_tree::add_size(child, written_bytes); return written_bytes; }
//! Serializes the data structure into the given ostream 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 += write_member(m_size, out, child, "size"); written_bytes += m_bl.serialize(out, child, "bl"); written_bytes += m_bf.serialize(out, child, "bf"); written_bytes += m_wt.serialize(out, child, "wt"); written_bytes += m_bl_rank.serialize(out, child, "bl_rank"); written_bytes += m_bf_rank.serialize(out, child, "bf_rank"); written_bytes += m_bl_select.serialize(out, child, "bl_select"); written_bytes += m_bf_select.serialize(out, child, "bf_select"); written_bytes += m_C.serialize(out, child, "C"); written_bytes += m_C_bf_rank.serialize(out, child, "C_bf_rank"); structure_tree::add_size(child, written_bytes); return written_bytes; }