6#ifndef DUNE_GRID_IO_FILE_VTK_POINTITERATOR_HH
7#define DUNE_GRID_IO_FILE_VTK_POINTITERATOR_HH
15#include <dune/grid/io/file/vtk/corner.hh>
16#include <dune/grid/io/file/vtk/corneriterator.hh>
49 template<
typename CellIterator,
typename IS>
52 < PointIterator<CellIterator, IS>,
53 const Corner<typename std::remove_const<typename std::iterator_traits<
54 CellIterator>::value_type>::type>,
55 const Corner<typename std::remove_const<typename std::iterator_traits<
56 CellIterator>::value_type>::type>&,
57 typename std::iterator_traits<CellIterator>::difference_type>
60 typedef VTK::Corner<
typename std::remove_const<
typename std::iterator_traits<
61 CellIterator>::value_type>::type>
Corner;
67 typedef typename std::iterator_traits<CellIterator>::difference_type
70 static const unsigned mydim = std::iterator_traits<CellIterator>::
71 value_type::mydimension;
79 std::vector<bool> seen;
86 bool isDereferencable()
const {
87 return cornerit.isDereferencable();
91 return cornerit == other.cornerit;
95 for(++cornerit; isDereferencable(); ++cornerit) {
96 typename IS::IndexType index =
97 is->subIndex(cornerit->cell(), cornerit->duneIndex(), mydim);
114 : cornerit(cellit, cellend), is(&is_), seen(is->size(mydim), false)
121 : cornerit(cellend_), is(0)
Base class for stl conformant forward iterators.
Definition: iteratorfacades.hh:141
iterate over the corners of some cell range
Definition: corneriterator.hh:39
simple class representing a corner of a cell
Definition: corner.hh:25
iterate over the points of some corner range
Definition: pointiterator.hh:58
PointIterator(const CellIterator &cellit, const CellIterator &cellend, const IS &is_)
construct a CornerIterator
Definition: pointiterator.hh:112
PointIterator(const CellIterator &cellend_)
construct a CornerIterator
Definition: pointiterator.hh:120
This file implements iterator facade classes for writing stl conformant iterators.
Dune namespace.
Definition: alignedallocator.hh:13
Traits for type conversions and type information.