4#ifndef DUNE_GRID_IO_FILE_VTK_POINTITERATOR_HH
5#define DUNE_GRID_IO_FILE_VTK_POINTITERATOR_HH
13#include <dune/grid/io/file/vtk/corner.hh>
14#include <dune/grid/io/file/vtk/corneriterator.hh>
47 template<
typename CellIterator,
typename IS>
50 < PointIterator<CellIterator, IS>,
51 const Corner<typename remove_const<typename std::iterator_traits<
52 CellIterator>::value_type>::type>,
53 const Corner<typename remove_const<typename std::iterator_traits<
54 CellIterator>::value_type>::type>&,
55 typename std::iterator_traits<CellIterator>::difference_type>
58 typedef VTK::Corner<
typename 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;
84 bool isDereferencable()
const {
85 return cornerit.isDereferencable();
89 return cornerit == other.cornerit;
93 for(++cornerit; isDereferencable(); ++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)
Base class for stl conformant forward iterators.
Definition: iteratorfacades.hh:141
iterate over the corners of some cell range
Definition: corneriterator.hh:37
simple class representing a corner of a cell
Definition: corner.hh:23
iterate over the points of some corner range
Definition: pointiterator.hh:56
PointIterator(const CellIterator &cellit, const CellIterator &cellend, const IS &is_)
construct a CornerIterator
Definition: pointiterator.hh:110
PointIterator(const CellIterator &cellend_)
construct a CornerIterator
Definition: pointiterator.hh:118
This file implements iterator facade classes for writing stl conformant iterators.
Dune namespace.
Definition: alignment.hh:10
Traits for type conversions and type information.