typename Traits0::pointer linearize_pointer(const iterator<Buff, Traits0>& it) const { return it.m_it == 0 ? m_buff->m_buff + m_buff->size() : (it.m_it < m_buff->m_first ? it.m_it + (m_buff->m_end - m_buff->m_first) : m_buff->m_buff + (it.m_it - m_buff->m_first)); }