ベクターのデバッグ インストルメンテーションを追加しようとしています。私のクラスにはベクトルが「あり」、次のような機能が提供されます。
template <typename InputIterator>
void assign(InputIterator first, InputIterator last)
ベクトルと文字列は、連続したメモリを持つコンテナーです。first
とがベクトル (または連続したメモリを持つ他のコンテナー) からのものである場合last
、イテレータに対して追加のサニティ チェックを実行できます。たとえば、次のことを確認できます。
- 最後 > 最初
- [first, last) 既存の要素と重複しない
- count = 最後 - 最初 + 1 は正気です
コンテナーが連続したメモリを使用する場合に、追加の診断とインストルメンテーションの特殊化を提供したいのですが、イテレーターが何と呼ばれているのかわかりません (ソースを grep して見つけることができませんでした):
template <typename SequentialIterator>
void assign(SequentialIterator first, SequentialIterator last)
「SequentialIterator」または「ContiguousIterator」の名前は何ですか?