MOOCHO (Single Doxygen Collection)
Version of the Day
|
Templateded iterator for iterating through a set of COO Matix elements but viewing them in transpose. More...
#include <AbstractLinAlgPack_TransSparseCOOElementViewIter.hpp>
Classes | |
class | ElementView |
Type for the object that is returned for the transpose sparse element. More... | |
Private Member Functions | |
TransSparseCOOElementViewIter () | |
Private Attributes | |
element_view_type | element_view_ |
Public types. | |
typedef ElementView< T_Iter, T_IterCat, T_Indice,T_ValRef, T_Diff > | element_view_type |
typedef T_Iter | encap_iter_type |
typedef TransSparseCOOElementViewIter < T_Iter, T_IterCat,T_Indice, T_ValRef, T_Diff > | iterator_type |
typedef T_IterCat | iterator_category |
typedef element_view_type | value_type |
typedef element_view_type & | reference_type |
typedef element_view_type * | pointer_type |
typedef T_Diff | difference_type |
typedef size_t | distance_type |
Constructors. | |
TransSparseCOOElementViewIter (T_Iter itr) | |
Construct with the iterator of COO elements to transpose. More... | |
Iterator control functions. | |
reference_type | operator* () const |
pointer_type | operator-> () const |
value_type | operator[] (distance_type n) const |
iterator_type & | operator++ () |
const iterator_type | operator++ (int) |
iterator_type & | operator-- () |
const iterator_type | operator-- (int) |
iterator_type | operator+ (distance_type n) |
const iterator_type | operator+ (distance_type n) const |
iterator_type & | operator+= (distance_type n) |
iterator_type | operator- (distance_type n) |
const iterator_type | operator- (distance_type n) const |
iterator_type & | operator-= (distance_type n) |
distance_type | operator- (const iterator_type &itr) const |
Comparison Operators. | |
bool | operator< (const iterator_type &itr) |
bool | operator<= (const iterator_type &itr) |
bool | operator> (const iterator_type &itr) |
bool | operator>= (const iterator_type &itr) |
bool | operator== (const iterator_type &itr) |
bool | operator!= (const iterator_type &itr) |
Templateded iterator for iterating through a set of COO Matix elements but viewing them in transpose.
The iterator type T_Iter must yield a type that conforms to the SparseCOOElementTemplateInterface specification. In particular it must support itr->value(), itr->row_i(), and itr->col_i().
Any category of iterator can be used with this class. The relavant iterator traits have to be added to the template list since MS VC++ 5.0 does not support partial template specialization and therefore std::iterator_traits<> does not exist.
There is a lot of code here but for an iterator object, only the underlying iterator is stored. Thus, because of inlining accessing a COO matrix through this transposed iterator is just as efficient as assessing it through its non-transposed iterator. This is important for efficiency reasons.
The default assignment operator and copy constructor are allowed.
The template arguments are:{itemize} T_Iter The type of the iterator that is used to yield COO sparse elements T_IterCat The category of iterator (forward, random access etc.) T_Indice The type returned by itr->indice() T_ValRef The type for the value returned by value(). For example, if T_Ele is a const type then T_ValRef should be a constant reference and if it is a non-const type it should be a non-const reference.
Definition at line 80 of file AbstractLinAlgPack_TransSparseCOOElementViewIter.hpp.
typedef ElementView<T_Iter,T_IterCat,T_Indice ,T_ValRef,T_Diff> AbstractLinAlgPack::TransSparseCOOElementViewIter< T_Iter, T_IterCat, T_Indice, T_ValRef, T_Diff >::element_view_type |
Definition at line 145 of file AbstractLinAlgPack_TransSparseCOOElementViewIter.hpp.
typedef T_Iter AbstractLinAlgPack::TransSparseCOOElementViewIter< T_Iter, T_IterCat, T_Indice, T_ValRef, T_Diff >::encap_iter_type |
Definition at line 147 of file AbstractLinAlgPack_TransSparseCOOElementViewIter.hpp.
typedef TransSparseCOOElementViewIter<T_Iter,T_IterCat ,T_Indice,T_ValRef,T_Diff> AbstractLinAlgPack::TransSparseCOOElementViewIter< T_Iter, T_IterCat, T_Indice, T_ValRef, T_Diff >::iterator_type |
Definition at line 150 of file AbstractLinAlgPack_TransSparseCOOElementViewIter.hpp.
typedef T_IterCat AbstractLinAlgPack::TransSparseCOOElementViewIter< T_Iter, T_IterCat, T_Indice, T_ValRef, T_Diff >::iterator_category |
Definition at line 155 of file AbstractLinAlgPack_TransSparseCOOElementViewIter.hpp.
typedef element_view_type AbstractLinAlgPack::TransSparseCOOElementViewIter< T_Iter, T_IterCat, T_Indice, T_ValRef, T_Diff >::value_type |
Definition at line 157 of file AbstractLinAlgPack_TransSparseCOOElementViewIter.hpp.
typedef element_view_type& AbstractLinAlgPack::TransSparseCOOElementViewIter< T_Iter, T_IterCat, T_Indice, T_ValRef, T_Diff >::reference_type |
Definition at line 159 of file AbstractLinAlgPack_TransSparseCOOElementViewIter.hpp.
typedef element_view_type* AbstractLinAlgPack::TransSparseCOOElementViewIter< T_Iter, T_IterCat, T_Indice, T_ValRef, T_Diff >::pointer_type |
Definition at line 161 of file AbstractLinAlgPack_TransSparseCOOElementViewIter.hpp.
typedef T_Diff AbstractLinAlgPack::TransSparseCOOElementViewIter< T_Iter, T_IterCat, T_Indice, T_ValRef, T_Diff >::difference_type |
Definition at line 163 of file AbstractLinAlgPack_TransSparseCOOElementViewIter.hpp.
typedef size_t AbstractLinAlgPack::TransSparseCOOElementViewIter< T_Iter, T_IterCat, T_Indice, T_ValRef, T_Diff >::distance_type |
Definition at line 165 of file AbstractLinAlgPack_TransSparseCOOElementViewIter.hpp.
|
inline |
Construct with the iterator of COO elements to transpose.
Note that this constructor also allows an implicit conversion from the nontransposed iterator to the transposed iterator. This may not be desireable.
Definition at line 179 of file AbstractLinAlgPack_TransSparseCOOElementViewIter.hpp.
|
private |
|
inline |
Definition at line 188 of file AbstractLinAlgPack_TransSparseCOOElementViewIter.hpp.
|
inline |
Definition at line 191 of file AbstractLinAlgPack_TransSparseCOOElementViewIter.hpp.
|
inline |
Definition at line 194 of file AbstractLinAlgPack_TransSparseCOOElementViewIter.hpp.
|
inline |
Definition at line 199 of file AbstractLinAlgPack_TransSparseCOOElementViewIter.hpp.
|
inline |
Definition at line 204 of file AbstractLinAlgPack_TransSparseCOOElementViewIter.hpp.
|
inline |
Definition at line 210 of file AbstractLinAlgPack_TransSparseCOOElementViewIter.hpp.
|
inline |
Definition at line 215 of file AbstractLinAlgPack_TransSparseCOOElementViewIter.hpp.
|
inline |
Definition at line 221 of file AbstractLinAlgPack_TransSparseCOOElementViewIter.hpp.
|
inline |
Definition at line 224 of file AbstractLinAlgPack_TransSparseCOOElementViewIter.hpp.
|
inline |
Definition at line 228 of file AbstractLinAlgPack_TransSparseCOOElementViewIter.hpp.
|
inline |
Definition at line 233 of file AbstractLinAlgPack_TransSparseCOOElementViewIter.hpp.
|
inline |
Definition at line 236 of file AbstractLinAlgPack_TransSparseCOOElementViewIter.hpp.
|
inline |
Definition at line 240 of file AbstractLinAlgPack_TransSparseCOOElementViewIter.hpp.
|
inline |
Definition at line 245 of file AbstractLinAlgPack_TransSparseCOOElementViewIter.hpp.
|
inline |
Definition at line 256 of file AbstractLinAlgPack_TransSparseCOOElementViewIter.hpp.
|
inline |
Definition at line 261 of file AbstractLinAlgPack_TransSparseCOOElementViewIter.hpp.
|
inline |
Definition at line 266 of file AbstractLinAlgPack_TransSparseCOOElementViewIter.hpp.
|
inline |
Definition at line 271 of file AbstractLinAlgPack_TransSparseCOOElementViewIter.hpp.
|
inline |
Definition at line 276 of file AbstractLinAlgPack_TransSparseCOOElementViewIter.hpp.
|
inline |
Definition at line 281 of file AbstractLinAlgPack_TransSparseCOOElementViewIter.hpp.
|
private |
Definition at line 289 of file AbstractLinAlgPack_TransSparseCOOElementViewIter.hpp.