Standard C++ Library Copyright 1998, Rogue Wave Software, Inc. NAME Bidirectional_Iterators - An iterator that can both read and write and can traverse a container in both directions DESCRIPTION NOTE: For a complete discussion of iterators, see the Iterators section of this reference. Iterators are a generalization of pointers that allow a C++ program to uniformly interact with different data struc- tures. Bidirectional iterators can move both forwards and backwards through a container, and have the ability to both read and write data. These iterators satisfy the require- ments listed below. KEY TO ITERATOR REQUIREMENTS The following key pertains to the iterator descriptions listed below: a and b values of type X n value representing a distance between two iterators u, Distance, tmp and m identifiers r value of type X& t value of type T REQUIREMENTS FOR BIDIRECTIONAL ITERATORS A bidirectional iterator must meet all the requirements listed below. Note that most of these requirements are also the requirements for forward iterators. X u u might have a singular value X() X() might be singular X(a) copy constructor, a == X(a) X u(a) copy constructor, u == a X u = a assignment, u == a r = a assignment, r == a a == b, a != b return value convertible to bool a->m equivalent to (*a).m *a return value convertible to T& ++r returns X& r++ return value convertible to const X& *r++ returns T& --r returns X& r-- return value convertible to const X& *r-- returns T& Like forward iterators, bidirectional iterators have the condition that a == b implies *a== *b. There are no restrictions on the number of passes an algo- rithm may make through the structure. SEE ALSO Containers, Iterators, Forward_Iterators
Закладки на сайте Проследить за страницей |
Created 1996-2024 by Maxim Chirkov Добавить, Поддержать, Вебмастеру |