<iterator>
Definuje iterační primitiv, předdefinované u iterátorů a u iterátorů proudu, jakož i několik podpůrné šablony.U iterátorů předdefinované zahrnují insert a zpětné adaptéry.Existují tři třídy vložit iterační adaptéry: přední, zadní a obecné.Poskytují vložit sémantiku než sémantika přepsat, poskytující u iterátorů kontejneru členské funkce.
#include <iterator>
Poznámky
U iterátorů jsou generalizace ukazatelů, abstracting od jejich požadavků způsobem, který umožňuje programu C++ jednotným způsobem pracovat s různými datových struktur.U iterátorů fungují jako prostředníci mezi kontejnery a obecný algoritmy.Místo provozující specifické datové typy, algoritmy jsou definovány na rozsah určený typ iterace.Jakékoli datová struktura, která splňuje požadavky iterace může potom provozováno na algoritmu.Existuje pět typů nebo kategorií iterace, každý s vlastní sadu požadavky a výsledné funkce:
Předat výstup: Přesunutí, může ukládat však nelze načíst hodnoty ostream a podavač stránek.
Vstup: dál, přesouvání, může načíst však neukládají hodnoty poskytnuté istream.
Dopředu: Přesunutí vpřed, může uložit a načíst hodnoty.
Obousměrné: dopředné a zpětné přesunutí může uložit a načíst hodnoty podle seznamu, sada, multimnožina, mapy a vícenásobné mapování.
RAM: přístupné v libovolném pořadí prvků může uložit a načíst hodnoty vektoru, deque, string a array.
U iterátorů, které mají větší požadavky a tak výkonnější přístup k prvkům mohou být použity místo u iterátorů méně požadavků.Například pokud dopředu iterace je volána pro náhodný přístup iterace může použije místo.
Funkce
Zvýší o určený počet pozic iterace. |
|
Vytvoří iterátoru, který můžete vložit prvky zadaný kontejner na zádi. |
|
Načte iterátoru na první prvek v zadaném kontejneru. |
|
Určuje počet kroků mezi polohami řeší dva u iterátorů. |
|
Načte iterátoru prvek, který následuje poslední prvek v zadaném kontejneru. |
|
Vytvoří iterátoru, který můžete vložit prvky na přední straně zadaný kontejner. |
|
Iterační adaptér, který přidává nový prvek kontejneru v určitém bodě vložení. |
|
Přesunout iterační obsahující zadané iterační jako jeho uložené základní iterační vrátí. |
|
Zadaný počet iterací a vrátí novou iteraci. |
|
Iteruje pozpátku zadaném počtu a vrátí novou iteraci. |
Operátory
Zkoušky, pokud objekt iterační na levé straně operátoru není rovno iterační objekt na pravé straně. |
|
Zkoušky, pokud objekt iterační na levé straně operátoru je rovno iterační objekt na pravé straně. |
|
Zkoušky, pokud je objekt iterační na levé straně operátoru menší než iterační objekt na pravé straně. |
|
Zkoušky, pokud objekt iterace na levé straně operátor je menší nebo rovna iterační objekt na pravé straně. |
|
Zkoušky, pokud objekt iterační na levé straně operátoru je větší než iterační objekt na pravé straně. |
|
Zkoušky, pokud objekt iterační na levé straně operátoru je větší než nebo rovno iterační objekt na pravé straně. |
|
Přidá posun iterace a vrátí novou reverse_iterator adresování vložený prvek na nové pozice posunu. |
|
Odečte jednu iterační z jiného a vrátí rozdíl. |
Třídy
Popisuje šablony třídy objektu iterační výstupu.Prvky se vloží do kontejneru typu kontejner, které se přistupuje prostřednictvím chráněné ukazatel nazývá uloží objekt kontejneru. |
|
Třída, která poskytuje návratový typ pro iterator_category funkci, která představuje obousměrný iterace. |
|
Třída, která přistupuje k matici pomocí RAM kontrolované iterace. |
|
Třída, která poskytuje návratový typ pro iterator_category funkci, která představuje dopředu iterace. |
|
Popisuje šablony třídy objektu iterační výstupu.Prvky se vloží do kontejneru typu kontejner, které se přistupuje prostřednictvím chráněné ukazatel nazývá uloží objekt kontejneru. |
|
Třída, která poskytuje návratový typ pro iterator_category funkci, která představuje vstupní iterace. |
|
Popisuje šablony třídy objektu iterační výstupu.Prvky se vloží do kontejneru typu kontejner, které se přistupuje prostřednictvím chráněné ukazatel nazývá uloží objekt kontejneru.Také ukládá chráněné iterační objekt třídy Container::iterator, s názvem iter. |
|
Popisuje šablony třídy objektu vstupní iterace.Extrahuje objekty třídy Ty ze vstupní proud, který se přistupuje prostřednictvím objektu ukládá typ ukazatele na basic_istream<Elem, Tr>. |
|
Popisuje šablony třídy objektu vstupní iterace.Vloží prvky třídy Elem do vyrovnávací paměť výstupu datového proudu, který přistupuje prostřednictvím objektu úložiště typu ukazatel na basic_streambuf<Elem, Tr>. |
|
Třída šablony slouží jako základní typ pro všechny u iterátorů. |
|
Šablona pomocná třída poskytující důležité typy, které jsou spojeny s iterační různých typů tak, aby se lze odkazovat stejným způsobem. |
|
A move_iterator objekt ukládá iterační náhodný přístup typu RandomIterator.Chová se jako iterační náhodný přístup, s výjimkou při přímo odkázat.Výsledek operator* je implicitně přetypovat na value_type&&: tak, aby rvalue reference. |
|
Popisuje šablony třídy objektu iterační výstupu.Vloží objekty třídy typu do výstupního proudu, která se přistupuje prostřednictvím objektu úložiště typu ukazatel na basic_ostream<Elem, Tr>. |
|
Popisuje šablony třídy objektu iterační výstupu.Vloží prvky třídy Elem do vyrovnávací paměť výstupu datového proudu, které se přistupuje prostřednictvím objektu ukládá typ ukazatele na basic_streambuf<Elem, Tr>. |
|
Třída, která poskytuje návratový typ pro iterator_category funkci, která představuje iterátoru výstupu. |
|
Třída, která poskytuje návratový typ pro iterator_category funkci, která představuje náhodný přístup iterace. |
|
Popisuje šablony třídy objektu, který se chová jako iterační náhodný přístup, pouze v opačném směru. |
Viz také
Referenční dokumentace
Bezpečnostní vlákno v Standardní knihovna C++