diff --git a/include/utils/encoders.hpp b/include/utils/encoders.hpp index 97eabfe..1203691 100644 --- a/include/utils/encoders.hpp +++ b/include/utils/encoders.hpp @@ -310,13 +310,6 @@ struct sdc_sequence { visit_impl(visitor, *this); } - template - void visit(Visitor& visitor) const { - visitor.visit(m_size); - visitor.visit(m_codewords); - visitor.visit(m_index); - } - private: template static void visit_impl(Visitor& visitor, T&& t) { @@ -358,23 +351,21 @@ struct sdc { template void visit(Visitor& visitor) const { - visitor.visit(m_ranks); - visitor.visit(m_dict); + visit_impl(visitor, *this); } template void visit(Visitor& visitor) { - visitor.visit(m_ranks); - visitor.visit(m_dict); + visit_impl(visitor, *this); } - template - void visit(Visitor& visitor) const { - visitor.visit(m_ranks); - visitor.visit(m_dict); +private: + template + static void visit_impl(Visitor& visitor, T&& t) { + visitor.visit(t.m_ranks); + visitor.visit(t.m_dict); } -private: sdc_sequence m_ranks; bits::compact_vector m_dict; };