/usr/include/dune/grid/onedgrid/onedgridentitypointer.hh is in libdune-grid-dev 2.4.1-1.
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 | // -*- tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 2 -*-
// vi: set et ts=4 sw=2 sts=2:
#ifndef DUNE_ONEDGRID_ENTITY_POINTER_HH
#define DUNE_ONEDGRID_ENTITY_POINTER_HH
#include "onedgridentity.hh"
namespace Dune {
/*! Acts as a pointer to an entities of a given codimension.
*/
template<int codim, class GridImp>
class OneDGridEntityPointer
{
enum { dim = GridImp::dimension };
template <class GridImp_>
friend class OneDGridLevelIntersection;
template <class GridImp_>
friend class OneDGridLeafIntersection;
friend class OneDGridEntity<0,dim,GridImp>;
public:
typedef typename GridImp::template Codim<codim>::Entity Entity;
typedef OneDGridEntityPointer<codim,GridImp> Base;
/** \brief The type of the class itself
Do we really need this?
*/
typedef OneDGridEntityPointer<codim,GridImp> EntityPointerImp;
//! codimension of entity pointer
enum { codimension = codim };
//! equality
bool equals(const OneDGridEntityPointer<codim,GridImp>& other) const {
return virtualEntity_ == other.virtualEntity_;
}
//! dereferencing
const Entity& dereference() const {return virtualEntity_;}
//! ask for level of entity
int level () const {return virtualEntity_.level();}
OneDGridEntityPointer()
: virtualEntity_(OneDGridEntity<codim, dim, GridImp>())
{}
/** \brief Constructor from a given entity */
OneDGridEntityPointer(const OneDGridEntity<codim, dim, GridImp> & entity)
: virtualEntity_(entity)
{}
/** \brief Constructor from a given iterator */
OneDGridEntityPointer(OneDEntityImp<dim-codim>* it)
: virtualEntity_(OneDGridEntity<codim, dim, GridImp>())
{
GridImp::getRealImplementation(virtualEntity_).setToTarget(it);
}
protected:
Entity virtualEntity_;
};
} // end namespace Dune
#endif
|