#include <iterator_interface.hpp>
| Public Types | |
| typedef std::iterator_traits < T >::iterator_category | iterator_category | 
| Iterator_category is used to determine the category to which an iterator belongs. | |
| typedef std::iterator_traits < T >::value_type | value_type | 
| An iterator's value type is the type of object returned when the iterator is dereferenced. | |
| typedef std::iterator_traits < T >::difference_type | difference_type | 
| Difference_type is used to represent the distance between two iterators. | |
| Static Public Member Functions | |
| static void | increment (T &a) | 
| Increment the argument. | |
| static void | decrement (T &a) | 
| Decrement the argument. | |
| static const value_type & | const_dereference (const T &a) | 
| Dereference the iterator. | |
| static void | advance (T &a, const difference_type &n) | 
| Advance the first argument by n. | |
| static difference_type | distance (const T &a, const T &b) | 
| Find the distance between a and b. | |
| static void | dereference_assign (T a, const value_type &b) | 
| Assign b to dereference of a. | |
| static value_type & | dereference (const T &a) | 
| Dereference the iterator. | |
This is a "non-intrusive" interface of iterator concept. It's methods and associative types are used in the Instigate STL algorithms. This interface works by default with SGI STL iterators and C style arrays. Users must specialize this interface for custom iterator, if the names of the iterator's methods and associated types don't coincide with the ones of defined in SGI STL.
| static void instigate::stl::interface< T >::increment | ( | T & | a | ) |  [inline, static] | 
Increment the argument.
| a | - argument to be incremented | 
Referenced by instigate::stl::incrementable_iterator::interface< T >::increment().
| static void instigate::stl::interface< T >::decrement | ( | T & | a | ) |  [inline, static] | 
Decrement the argument.
| a | - argument to be decremented | 
Referenced by instigate::stl::bidirectional_iterator::interface< T >::decrement().
| static const value_type& instigate::stl::interface< T >::const_dereference | ( | const T & | a | ) |  [inline, static] | 
Dereference the iterator.
| a | - iterator to be dereferenced | 
Referenced by instigate::stl::readable_iterator::interface< T >::const_dereference().
| static void instigate::stl::interface< T >::advance | ( | T & | a, | |
| const difference_type & | n | |||
| ) |  [inline, static] | 
Advance the first argument by n.
| a | - the argument to be advanced | |
| n | - the number of elements to advance | 
Referenced by instigate::stl::random_access_iterator::interface< T >::advance().
| static difference_type instigate::stl::interface< T >::distance | ( | const T & | a, | |
| const T & | b | |||
| ) |  [inline, static] | 
Find the distance between a and b.
| a | - the first argument | |
| b | - the second argument | 
Referenced by instigate::stl::random_access_iterator::interface< T >::distance().
| static void instigate::stl::interface< T >::dereference_assign | ( | T | a, | |
| const value_type & | b | |||
| ) |  [inline, static] | 
Assign b to dereference of a.
| a | - object to be dereference and assigned | |
| b | - object to assign | 
Referenced by instigate::stl::writable_iterator::interface< T >::dereference_assign().
| static value_type& instigate::stl::interface< T >::dereference | ( | const T & | a | ) |  [inline, static] | 
Dereference the iterator.
| a | - iterator to be dereferenced | 
Referenced by instigate::stl::lvalue_iterator::interface< T >::dereference().