我正在尝试为向量添加一些调试工具。我的班级“有一个”向量并提供以下功能:
template <typename InputIterator>
void assign(InputIterator first, InputIterator last)
向量和字符串是具有连续内存的容器。当first
和last
来自向量(或其他具有连续内存的容器)时,我可以对迭代器执行额外的健全性检查。例如,我可以检查:
- 最后 > 第一个
- [first, last) 不与现有元素重叠
- count = last - first + 1 是理智的
当容器使用连续内存时,我想为额外的诊断和检测提供专业化,但我不知道迭代器被称为什么(并且无法通过源查找它):
template <typename SequentialIterator>
void assign(SequentialIterator first, SequentialIterator last)
“SequentialIterator”或“ContiguousIterator”的名称是什么?