/usr/include/dune/grid/albertagrid/intersectioniterator.hh is in libdune-grid-dev 2.2.1-2.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 | #ifndef DUNE_ALBERTA_INTERSECTIONITERATOR_HH
#define DUNE_ALBERTA_INTERSECTIONITERATOR_HH
#include <dune/grid/common/intersectioniterator.hh>
#include <dune/grid/albertagrid/intersection.hh>
/** \file
* \author Martin Nolte
* \brief Implementation of the IntersectionIterator for AlbertaGrid
*/
#if HAVE_ALBERTA
namespace Dune
{
// AlbertaGridLeafIntersectionIterator
// -----------------------------------
template< class GridImp >
class AlbertaGridLeafIntersectionIterator
{
typedef AlbertaGridLeafIntersectionIterator< GridImp > This;
public:
typedef Dune::Intersection< GridImp, AlbertaGridLeafIntersection > Intersection;
static const int dimension = Intersection::dimension;
struct Begin {};
struct End {};
private:
typedef AlbertaGridLeafIntersection< GridImp > IntersectionImp;
public:
template< class EntityImp >
AlbertaGridLeafIntersectionIterator ( const EntityImp &entity, Begin )
: intersection_( IntersectionImp( entity, 0 ) )
{}
template< class EntityImp >
AlbertaGridLeafIntersectionIterator ( const EntityImp &entity, End )
: intersection_( IntersectionImp( entity, dimension+1 ) )
{}
AlbertaGridLeafIntersectionIterator ( const This &other )
: intersection_( other.intersectionImp() )
{}
This &operator= ( const This &other )
{
intersectionImp() = other.intersectionImp();
return *this;
}
const Intersection &dereference () const
{
return intersection_;
}
bool equals ( const This &other ) const
{
return (intersectionImp() == other.intersectionImp());
}
void increment ()
{
intersectionImp().next();
}
private:
const IntersectionImp &intersectionImp () const
{
return GridImp::getRealImplementation( intersection_ );
}
IntersectionImp &intersectionImp ()
{
return GridImp::getRealImplementation( intersection_ );
}
Intersection intersection_;
};
}
#endif // #if HAVE_ALBERTA
#endif // #ifndef DUNE_ALBERTA_INTERSECTIONITERATOR_HH
|