comp_char_type operator[](char_type c) const { if (m_strat->m_char.size() > 0) { // if alphabet is not continuous return (comp_char_type) m_strat->m_char_rank((size_type)c); } else { // direct map if it is continuous return (comp_char_type) c; } }
comp_char_type operator[](char_type c) const { if (m_strat->m_char.size() > 0) { // if alphabet is not continuous if ( c >= m_strat->m_char.size() or !m_strat->m_char[c] ) return (comp_char_type)0; return (comp_char_type) m_strat->m_char_rank((size_type)c); } else { // direct map if it is continuous if ( c >= m_strat->m_sigma ) return 0; return (comp_char_type) c; } return 0; }