Public Member Functions | |
| BlockIterator () | |
| bool | operator== (const BlockIterator< Scalar > &other) const |
| bool | operator!= (const BlockIterator< Scalar > &other) const |
| bool | operator< (const BlockIterator< Scalar > &other) const |
| BlockIterator< Scalar > | operator++ (int) |
| const VectorSpace< Scalar > & | space () const |
| std::ostream & | print (std::ostream &os) const |
| const std::deque< int > & | blockIndex () const |
| bool | atEnd () const |
Static Public Member Functions | |
| static bool & | debug () |
Protected Member Functions | |
| void | goToStart (const VectorSpace< Scalar > &space, std::deque< int > &pos) const |
| BlockIterator (const VectorSpace< Scalar > &space, bool atEnd) | |
| bool | advance (int level) |
Private Attributes | |
| RCP< const VectorSpace< Scalar > > | space_ |
| std::deque< int > | index_ |
| bool | atEnd_ |
Friends | |
| class | VectorSpaceBase< Scalar > |
| class | VectorSpace< Scalar > |
| class | Vector< Scalar > |
Related Functions | |
(Note that these are not member functions.) | |
| template<class Scalar > | |
| std::ostream & | operator<< (std::ostream &os, const Playa::BlockIterator< Scalar > &i) |
BlockIterator can locate a block within an arbitrarily nested block vector space.
Definition at line 73 of file PlayaBlockIteratorDecl.hpp.
| Playa::BlockIterator< Scalar >::BlockIterator | ( | ) | [inline] |
Empty ctor
Definition at line 82 of file PlayaBlockIteratorDecl.hpp.
| Playa::BlockIterator< Scalar >::BlockIterator | ( | const VectorSpace< Scalar > & | space, |
| bool | atEnd | ||
| ) | [inline, protected] |
Constructor is private: the construction is always done inside the begin and end methods of vector space.
Definition at line 172 of file PlayaBlockIteratorImpl.hpp.
References Playa::BlockIterator< Scalar >::goToStart(), and Playa::BlockIterator< Scalar >::index_.
| bool Playa::BlockIterator< Scalar >::advance | ( | int | level | ) | [inline, protected] |
Advance the index at the specified level. Return false if no further advance is possible
Definition at line 131 of file PlayaBlockIteratorImpl.hpp.
| bool Playa::BlockIterator< Scalar >::atEnd | ( | ) | const [inline] |
Definition at line 111 of file PlayaBlockIteratorDecl.hpp.
References Playa::BlockIterator< Scalar >::atEnd_.
Referenced by Playa::VectorSpace< Scalar >::getBlock(), Playa::Vector< Scalar >::getBlock(), and Playa::Vector< Scalar >::getNonConstBlock().
| const std::deque<int>& Playa::BlockIterator< Scalar >::blockIndex | ( | ) | const [inline] |
Definition at line 108 of file PlayaBlockIteratorDecl.hpp.
References Playa::BlockIterator< Scalar >::index_.
Referenced by Playa::VectorSpace< Scalar >::getBlock(), Playa::Vector< Scalar >::getBlock(), and Playa::Vector< Scalar >::getNonConstBlock().
| static bool& Playa::BlockIterator< Scalar >::debug | ( | ) | [inline, static] |
Set to true (by doing BlockIterator<Scalar>::debug()=true) to trace the iterator
Definition at line 115 of file PlayaBlockIteratorDecl.hpp.
| void Playa::BlockIterator< Scalar >::goToStart | ( | const VectorSpace< Scalar > & | space, |
| std::deque< int > & | pos | ||
| ) | const [inline, protected] |
Build an index pointing to the leftmost entry in the given block space
Definition at line 153 of file PlayaBlockIteratorImpl.hpp.
References Playa::VectorSpace< Scalar >::getBlock(), and Playa::VectorSpace< Scalar >::isBlockSpace().
Referenced by Playa::BlockIterator< Scalar >::BlockIterator().
| bool Playa::BlockIterator< Scalar >::operator!= | ( | const BlockIterator< Scalar > & | other | ) | const [inline] |
Compare two iterators
Definition at line 90 of file PlayaBlockIteratorDecl.hpp.
References Playa::BlockIterator< Scalar >::operator==().
| BlockIterator< Scalar > Playa::BlockIterator< Scalar >::operator++ | ( | int | ) | [inline] |
Advance the block iterator
Definition at line 106 of file PlayaBlockIteratorImpl.hpp.
References Playa::Out::os().
| bool Playa::BlockIterator< Scalar >::operator< | ( | const BlockIterator< Scalar > & | other | ) | const [inline] |
Compare two iterators
Definition at line 76 of file PlayaBlockIteratorImpl.hpp.
References Playa::BlockIterator< Scalar >::atEnd_, Playa::BlockIterator< Scalar >::index_, Playa::min(), Playa::Out::os(), and Playa::BlockIterator< Scalar >::space().
| bool Playa::BlockIterator< Scalar >::operator== | ( | const BlockIterator< Scalar > & | other | ) | const [inline] |
Compare two iterators
Definition at line 55 of file PlayaBlockIteratorImpl.hpp.
References Playa::BlockIterator< Scalar >::atEnd_, Playa::BlockIterator< Scalar >::index_, and Playa::Out::os().
Referenced by Playa::BlockIterator< Scalar >::operator!=().
| std::ostream & Playa::BlockIterator< Scalar >::print | ( | std::ostream & | os | ) | const [inline] |
Print the iterator
Definition at line 188 of file PlayaBlockIteratorImpl.hpp.
Referenced by Playa::BlockIterator< Scalar >::operator<<().
| const VectorSpace< Scalar > & Playa::BlockIterator< Scalar >::space | ( | ) | const [inline] |
Definition at line 165 of file PlayaBlockIteratorImpl.hpp.
Referenced by Playa::BlockIterator< Scalar >::operator<().
| std::ostream & operator<< | ( | std::ostream & | os, |
| const Playa::BlockIterator< Scalar > & | i | ||
| ) | [related] |
Definition at line 147 of file PlayaBlockIteratorDecl.hpp.
References Playa::BlockIterator< Scalar >::print().
friend class Vector< Scalar > [friend] |
Definition at line 79 of file PlayaBlockIteratorDecl.hpp.
friend class VectorSpace< Scalar > [friend] |
Definition at line 78 of file PlayaBlockIteratorDecl.hpp.
friend class VectorSpaceBase< Scalar > [friend] |
Definition at line 77 of file PlayaBlockIteratorDecl.hpp.
bool Playa::BlockIterator< Scalar >::atEnd_ [private] |
Definition at line 138 of file PlayaBlockIteratorDecl.hpp.
Referenced by Playa::BlockIterator< Scalar >::atEnd(), Playa::BlockIterator< Scalar >::operator<(), and Playa::BlockIterator< Scalar >::operator==().
std::deque<int> Playa::BlockIterator< Scalar >::index_ [private] |
Definition at line 137 of file PlayaBlockIteratorDecl.hpp.
Referenced by Playa::BlockIterator< Scalar >::blockIndex(), Playa::BlockIterator< Scalar >::BlockIterator(), Playa::BlockIterator< Scalar >::operator<(), and Playa::BlockIterator< Scalar >::operator==().
RCP<const VectorSpace<Scalar> > Playa::BlockIterator< Scalar >::space_ [private] |
Store the VC in an RCP so we can do forward declaration of VS
Definition at line 136 of file PlayaBlockIteratorDecl.hpp.