4 #ifndef DUNE_GRID_IO_FILE_VTK_POINTITERATOR_HH 5 #define DUNE_GRID_IO_FILE_VTK_POINTITERATOR_HH 10 #include <dune/common/iteratorfacades.hh> 11 #include <dune/common/typetraits.hh> 47 template<
typename CellIterator,
typename IS>
49 :
public ForwardIteratorFacade
50 < PointIterator<CellIterator, IS>,
51 const Corner<typename std::remove_const<typename std::iterator_traits<
52 CellIterator>::value_type>::type>,
53 const Corner<typename std::remove_const<typename std::iterator_traits<
54 CellIterator>::value_type>::type>&,
55 typename std::iterator_traits<CellIterator>::difference_type>
58 typedef VTK::Corner<
typename std::remove_const<
typename std::iterator_traits<
59 CellIterator>::value_type>::type>
Corner;
65 typedef typename std::iterator_traits<CellIterator>::difference_type
68 static const unsigned mydim = std::iterator_traits<CellIterator>::
69 value_type::mydimension;
77 std::vector<bool> seen;
88 bool equals(
const DerivedType& other)
const {
89 return cornerit == other.cornerit;
94 typename IS::IndexType index =
95 is->subIndex(cornerit->cell(), cornerit->duneIndex(),
mydim);
112 : cornerit(cellit, cellend), is(&is_), seen(is->size(mydim), false)
119 : cornerit(cellend_), is(0)
129 #endif // DUNE_GRID_IO_FILE_VTK_POINTITERATOR_HH const Corner Value
Definition: pointiterator.hh:63
bool isDereferencable() const
Definition: corneriterator.hh:67
VTK::Corner< typename std::remove_const< typename std::iterator_traits< CellIterator >::value_type >::type > Corner
Definition: pointiterator.hh:59
Reference dereference() const
Definition: pointiterator.hh:80
bool equals(const DerivedType &other) const
Definition: pointiterator.hh:88
static const unsigned mydim
Definition: pointiterator.hh:68
Value & Reference
Definition: pointiterator.hh:64
PointIterator(const CellIterator &cellend_)
construct a CornerIterator
Definition: pointiterator.hh:118
Include standard header files.
Definition: agrid.hh:59
iterate over the corners of some cell range
Definition: corneriterator.hh:29
iterate over the points of some corner range
Definition: pointiterator.hh:48
bool isDereferencable() const
Definition: pointiterator.hh:84
void increment()
Definition: pointiterator.hh:92
simple class representing a corner of a cell
Definition: corner.hh:23
PointIterator(const CellIterator &cellit, const CellIterator &cellend, const IS &is_)
construct a CornerIterator
Definition: pointiterator.hh:110
PointIterator< CellIterator, IS > DerivedType
Definition: pointiterator.hh:62
std::iterator_traits< CellIterator >::difference_type DifferenceType
Definition: pointiterator.hh:66