#include <AbstractLinAlgPack_TransSparseCOOElementViewIter.hpp>
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 67 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 |
| typedef T_Iter AbstractLinAlgPack::TransSparseCOOElementViewIter< T_Iter, T_IterCat, T_Indice, T_ValRef, T_Diff >::encap_iter_type |
| 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 |
| typedef T_IterCat AbstractLinAlgPack::TransSparseCOOElementViewIter< T_Iter, T_IterCat, T_Indice, T_ValRef, T_Diff >::iterator_category |
| typedef element_view_type AbstractLinAlgPack::TransSparseCOOElementViewIter< T_Iter, T_IterCat, T_Indice, T_ValRef, T_Diff >::value_type |
| typedef element_view_type& AbstractLinAlgPack::TransSparseCOOElementViewIter< T_Iter, T_IterCat, T_Indice, T_ValRef, T_Diff >::reference_type |
| typedef element_view_type* AbstractLinAlgPack::TransSparseCOOElementViewIter< T_Iter, T_IterCat, T_Indice, T_ValRef, T_Diff >::pointer_type |
| typedef T_Diff AbstractLinAlgPack::TransSparseCOOElementViewIter< T_Iter, T_IterCat, T_Indice, T_ValRef, T_Diff >::difference_type |
| typedef size_t AbstractLinAlgPack::TransSparseCOOElementViewIter< T_Iter, T_IterCat, T_Indice, T_ValRef, T_Diff >::distance_type |
| AbstractLinAlgPack::TransSparseCOOElementViewIter< T_Iter, T_IterCat, T_Indice, T_ValRef, T_Diff >::TransSparseCOOElementViewIter | ( | T_Iter | itr | ) | [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 166 of file AbstractLinAlgPack_TransSparseCOOElementViewIter.hpp.
1.4.7