GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • cpprefjp - C++日本語リファレンス
  • GitHub Project

This view

  • Original page
  • New address

GeezerVison is showing cpprefjp.github.io — std::iterator tag - cpprefjp C++日本語リファレンス

  1. リファレンス
  2. iterator
  3. iterator tag

最終更新日時: 2025年07月12日 02時16分44秒 (JST)
Koichi Murase が更新

履歴 編集

class
<iterator>

std::iterator tag

namespace std {
  struct input_iterator_tag { };
  struct output_iterator_tag { };
  struct forward_iterator_tag : public input_iterator_tag { };
  struct bidirectional_iterator_tag : public forward_iterator_tag { };
  struct random_access_iterator_tag : public bidirectional_iterator_tag { };
  struct contiguous_iterator_tag: public random_access_iterator_tag { };  // C++20から
}

概要

<iterator>ヘッダでは、イテレータを分類するためのタグ(空クラス)を定義している。

型 説明 対応バージョン
input_iterator_tag 入力イテレータ
output_iterator_tag 出力イテレータ
forward_iterator_tag 前方向イテレータ
bidirectional_iterator_tag 双方向イテレータ
random_access_iterator_tag ランダムアクセスイテレータ
contiguous_iterator_tag 隣接イテレータ C++20

イテレータの関係性の定義に従い、これらのクラスは継承関係を持っている。

これらのタグは、コンパイル時にイテレータの分類を判定し、イテレータごとの最適な実装を選択するために使用される。

使用例は、distance()関数の実装例を参照。

You are visitor 01402520 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.