#include <poly.h>
Public Member Functions | |
const_iterator () | |
const_iterator (const poly &p) | |
Static Public Member Functions | |
static const_iterator | end_of (const poly &p) |
Private Types | |
typedef std::list< typename std::set< T >::const_iterator > ::const_iterator | const_state_iterator |
typedef std::list< typename std::set< T >::const_iterator > ::iterator | state_iterator |
Private Member Functions | |
void | decrement () |
T | dereference () const |
bool | equal (const_iterator const &rhs) const |
void | increment () |
Private Attributes | |
std::list< std::set< T > >::const_iterator | begin |
std::list< std::set< T > >::const_iterator | end |
std::list< typename std::set < T >::const_iterator > | state |
Friends | |
class | boost::iterator_core_access |
typedef std::list<typename std::set<T>::const_iterator>::const_iterator poly< T >::const_iterator::const_state_iterator [private] |
typedef std::list<typename std::set<T>::const_iterator>::iterator poly< T >::const_iterator::state_iterator [private] |
Definition at line 94 of file poly.h.
References poly< T >::const_iterator::begin, and poly< T >::const_iterator::end.
: begin(p.begin_columns()), end(p.end_columns()) { const_column_iterator column = begin; while(column!=end) state.push_back((column++)->begin()); }
Definition at line 83 of file poly.h.
References poly< T >::const_iterator::begin, and poly< T >::const_iterator::end.
{ state_iterator istate = state.begin(); const_column_iterator column = begin; while( column != end && *istate == column->begin()) { ++istate; ++column;} if( column != end) --*istate; while( istate != state.begin() ) {--istate; *istate = --((--column)->end());} }
Definition at line 75 of file poly.h.
References asciidump::s.
static const_iterator poly< T >::const_iterator::end_of | ( | const poly & | p | ) | [inline, static] |
Definition at line 98 of file poly.h.
References poly< T >::const_iterator::end, poly< T >::end_columns(), poly< T >::size(), and poly< T >::const_iterator::state.
Referenced by poly< T >::end().
{ const_iterator it(p); if(p.size()!=0) *--(it.state.end()) = (--p.end_columns())->end(); return it; }
bool poly< T >::const_iterator::equal | ( | const_iterator const & | rhs | ) | const [inline, private] |
Definition at line 74 of file poly.h.
References poly< T >::const_iterator::state.
{ return std::equal( state.begin(), state.end(), rhs.state.begin() ); }
Definition at line 76 of file poly.h.
References poly< T >::const_iterator::begin, and poly< T >::const_iterator::end.
{ state_iterator istate = state.begin(); const_column_iterator column = begin; while( column != end && ++*istate == column->end() ) { ++istate; ++column;} if( column == end ) {--column; --istate;} while( istate != state.begin() ) {--istate; *istate = (--column)->begin();} }
friend class boost::iterator_core_access [friend] |
std::list<std::set<T> >::const_iterator poly< T >::const_iterator::begin [private] |
Definition at line 69 of file poly.h.
Referenced by poly< T >::const_iterator::const_iterator(), poly< T >::const_iterator::decrement(), and poly< T >::const_iterator::increment().
std::list<std::set<T> >::const_iterator poly< T >::const_iterator::end [private] |
Definition at line 69 of file poly.h.
Referenced by poly< T >::const_iterator::const_iterator(), poly< T >::const_iterator::decrement(), poly< T >::const_iterator::end_of(), and poly< T >::const_iterator::increment().
std::list<typename std::set<T>::const_iterator> poly< T >::const_iterator::state [private] |
Definition at line 68 of file poly.h.
Referenced by poly< T >::const_iterator::end_of(), and poly< T >::const_iterator::equal().