22 using block_type =
unsigned int;
24 RestrictedGrowthString(std::vector<block_type>
const &rgs) : m_rgs(rgs), m_blocks_id(retrieve_unique_blocks(rgs))
30 return m_blocks_id.size();
40 return m_rgs.cbegin();
50 return (this->m_rgs == other.m_rgs);
53 auto at(
unsigned int n)
const
59 std::vector<block_type> m_rgs;
60 std::set<block_type> m_blocks_id;
62 std::set<block_type> retrieve_unique_blocks(std::vector<block_type>
const &rgs)
64 std::set<block_type> ids;
65 for (
auto const &it : rgs)