略しSGI-STL(4) - イテレータの決意

stl_iterator_base.h:
    イテレータ型抽出特性。
    いくつかの特別なイテレータラベルタグ:input_iterator_tag、output_iterator_tag、forward_iterator_tag、bidirectional_iterator_tag、random_access_iterator_tag。
    これは前者イテレータ型を意味する(例えばforward_iterator_tagは....、input_iterator_tagを継承など)、他のラベルタグ継承関係、続い独立に、output_iterator_tagに加えて、とすることができます
    後者; __true_typeにおけるタイプのイテレータタグ、__ false_type。
    初期のHPのためinput_iterator、output_iterator、forward_iterator、bidirectional_iterator、random_access_iterator再宣言されたiterator_category、VALUE_TYPE、
    difference_type、ポインタ、参照型、イテレータタグタグのそれぞれのタイプを使用して、各イテレータiterator_category(イテレータクラス)、またoutput_iterator特に比較して、他の値は無効です。
    反復子:反復子クラステンプレート、ちょうど再宣言イテレータを入力し、多くの場所は、直接イテレータを使用することができます。
    iterator_traits:特徴抽出テンプレートイテレータクラス、前記2つの定数ポインタまたはポインタ専門、random_access_iterator_tagとして分類イテレータ型。
    またiterator_category、distance_type、VALUE_TYPE、エキスイテレータクラス、値型ツールテンプレート関数とマクロの__ITERATOR_CATEGORY、__ DISTANCE_TYPE、__ VALUE_TYPEを提供します。
    距離:前方距離または異なるイテレータ型を計算するためのツールをサポートするために、より多くのオーバーロードされたテンプレート機能を提供します。
    
stl_iterator.h:
    イテレータの他のタイプ。
    back_insert_iterator:タイプ増加再宣言CONTAINER_TYPEコンテナタイプ、コンテナ及びポインタオブジェクトを含むコンテナ上記挿入イテレータ後、比較的少数の反復。
    コンストラクタ引数オブジェクトコンテナへのポインタは、オーバーロード演算子 =(付加的に挿入されたオブジェクトの実装後に容器内の一backコール)、加えて、オーバーロード*オペレータ、オペレータ ++、オペレータ ++(INTは)直接戻され
    現在のイテレータオブジェクト(back_insert_iteratorそれだけなど、コンテナ一backイテレータインタフェースをサポートするために使用することができる:ベクトル、両端キュー、モバイルイテレータをサポートしていない)、iterator_categoryを設け、back_inserter
    現在のテンプレートイテレータオブジェクトの関連する現在のイテレータタイプ(カテゴリーに属するoutput_iterator_tag)の機能及び構成を抽出します。
    
    front_insert_iterator:挿入前イテレータ、挿入イテレータタイプ、それはpush_frontのようなサポートを提供するために容器とのインターフェースを必要とする:ベクター、両端キューなど。
    
    insert_iterator:オーバーロードオペレータITERコンストラクタイテレータを増加させる、前の2回の反復子に比べ、反復子を挿入して容器を得る = 値の内部で使用するインサート(ITER、値)が挿入される前に、前方イテレータを調整します
    容器内のイテレータITER位置。
    
    reverse_bidirectional_iterator:内部的に現在のイテレータオブジェクトを維持し、双方向イテレータのコンストラクタ、双方向イテレータをリバース。
    ベース:現在のイテレータオブジェクトを取得し、
     演算子 *とoperator-> 位置する前に、現在のイテレータイテレータオブジェクトを取り、
     演算子 ++、オペレータ - などが逆電流イテレータオブジェクトの位置に対応して設けられています。
    
    reverse_iterator:ランダム類似reverse_bidirectional_iterator、ランダムイテレータコンストラクタ、オーバーロードされた加算演算子とイテレータ逆 + =、演算子 +、演算子 - =、オペレータ支援に[]など
    ランダム逆反復。
    
    istream_iterator:入力ストリーム反復子、従来の再宣言された型もCHAR_TYPE、traits_type、istream_type増加に加えて、オブジェクトの初期化_M_streamの部材を介しbasic_istreamテンプレートコンストラクタ引数の型を
    、_M_okストリームオブジェクトが利用可能であるかどうか、コンストラクタは_M_readすなわち、ストリーム・オブジェクトを呼び出す_M_valueに記憶された入力ストリームの値は、入力ストリームかどうか、および_M_valueに利用可能なデータを保存決定し、オーバーロード演算子 *、演算子 - >は、入力データストリームを抽出し、
     オペレータ ++、オペレータ ++(INT ):入力データ・ストリームを読み取ります。
    _M_equal:イテレータコンパレータは、そうでなければ、フローは、オブジェクトが同一であるか否かを判断し、同じで利用できない場合、同じです。
    
    ostream_iterator:出力ストリーム反復子istream_iterator類似し、そのフロー_M_stream basic_ostreamオブジェクトタイプのテンプレートコンストラクタもテール出力に_M_stringストリームを初期化するためのパラメータとして提供されます
    追加の挿入文字列、さらに演算子オーバーロード =ストリームオブジェクトへの出力をサポートするために、オーバーロードされた演算子*、(決意オブジェクトが使用可能に対流であるかどうか!)ではない演算子 - >; ++、オペレータのために、オペレータ ++(int型は)のみです現在の出力ストリーム反復子オブジェクトを返します。
    
stl_raw_storage_iter.h:
    raw_storage_iteratorイテレータ型_M_iterを初期化するために、少なくとも_ForwardIteratorの関数として設定されているタイプoutput_iterator_tag生記憶イテレータ、オーバーロード演算子は、 * 現在のイテレータオブジェクトを取得し、
     オペレータ所与の位置とイテレータのため=内部コール構築初期値現在の繰り返しオブジェクトを返し、オペレータ ++、オペレータ +(INT ++内側)を行うモバイル_M_iterイテレータ前とイテレータオブジェクトを返します。
    
反復セクションイテレータ容器、反復するための反復イテレータ(反復ラッパー)の一部。    

 

おすすめ

転載: www.cnblogs.com/haomiao/p/11647214.html