# Adjacency Iterator Adaptor

Defined in header boost/graph/adjacency_iterator.hpp

隣接イテレータ・アダプタは `out_edge_iterator` を隣接イテレータに 変形する。すなわち、辺の方々を巡回するイテレータを取り、それらの 終点の方々を巡回するイテレータを作成する。このアダプタと共に Incidence Graph をモデルとするグラフ型を 取り、Adjacency Graph によって要求される能力を付け加えるのは些細な事である。

## Synopsis

    namespace boost {
      template <class Graph, class VertexDescriptor, class OutEdgeIter>
      class adjacency_iterator_generator {
      public:
        typedef iterator_adaptor<...> type;
      };
    }

### Example

下記は `adjacency_iterator_generator` クラスの使い方の例である。

    #include <boost/graph/adjacency_iterator.hpp>

    class my_graph {
      // ...
      typedef ... out_edge_iterator;
      typedef ... vertex_descriptor;
      typedef boost::adjacency_iterator_generator<my_graph, vertex_descriptor, out_edge_iterator>::type adjacency_iterator;
      // ...
    };

### Template Parameters

パラメータ | 説明
--- | ---
`Graph` | グラフ型で、それは Incidence Graph をモデルとしなければならない。
`VertexDescriptor` | これは `graph_traits<Graph>::vertex_descriptor` と同じ型で なければならない。これがテンプレート・パラメータである理由は、 `adjacency_iterator_generator` の主な使用はグラフ・クラスの定義の 内側であり、その文脈中でまだ完全に定義されていないグラフ・ クラスの上で `graph_traits` を使えないからである。 デフォルト: `graph_traits<Graph>::vertex_descriptor`
`OutEdgeIter` | これは `graph_traits<Graph>::out_edge_iterator` と同じ型でなければ ならない。 デフォルト: `graph_traits<Graph>::out_edge_iterator`

### Model of

隣接イテレータ・アダプタ (型 `adjacency_iterator_generator<...>::type`) は Multi-Pass Input Iterator のモデルである。

### Members

隣接イテレータ型は `reference` の型が `value_type` と同じで それから `operator*()` が値返しであることを除けば、Random Access Iterator コンセプトによって要求されるメンバ関数と演算子を実装している。 さらに次のコンストラクタを持つ:

    adjacency_iterator_generator::type(const OutEdgeIter& it)

Revised 19 Aug 2001

ｩ Copyright Jeremy Siek 2000. Permission to copy, use, modify, sell and distribute this document is granted provided this copyright notice appears in all copies. This document is provided "as is" without express or implied warranty, and with no claim as to its suitability for any purpose.

[訳注: 原文がcharset=windows-1252であり、©がｩと化けている。]

Japanese Translation Copyright © 2003 Takashi Itou
オリジナルの、及びこの著作権表示が全ての複製の中に現れる限り、この文書の複製、利用、変更、販売そして配布を認める。このドキュメントは「あるがまま」に提供されており、いかなる明示的、暗黙的保証も行わない。また、いかなる目的に対しても、その利用が適していることを関知しない。

このドキュメントの対象: Boost Version 1.30.0
最新版ドキュメント (英語)