diff --git a/grid/common/grid.hh b/grid/common/grid.hh index 8fe0dc7c582117395e9ab4004ef43b51d6c92677..9386e2961e1fdd21fc2dd6e8138cdd0df6e57ac3 100644 --- a/grid/common/grid.hh +++ b/grid/common/grid.hh @@ -537,6 +537,9 @@ namespace Dune { typedef typename GridFamily::Traits::Grid GridImp; public: + //! the traits of this class + typedef typename GridFamily::Traits Traits; + enum { //! \brief The dimension of the grid dimension=dim @@ -720,7 +723,8 @@ namespace Dune { template< int dim, int dimworld, typename ct, class GridFamily > struct hasLeafIterator< GridDefaultImplementation<dim,dimworld,ct,GridFamily> > { - typedef typename GridFamily::GridImp GridImp; + typedef GridDefaultImplementation<dim,dimworld,ct,GridFamily> GridType; + typedef typename GridType::Traits::Grid GridImp; static const bool v = hasLeafIterator<GridImp>::v; }; @@ -728,7 +732,8 @@ namespace Dune { template< int dim, int dimworld, typename ct, class GridFamily , int cdim > struct hasEntity< GridDefaultImplementation<dim,dimworld,ct,GridFamily>, cdim > { - typedef typename GridFamily::GridImp GridImp; + typedef GridDefaultImplementation<dim,dimworld,ct,GridFamily> GridType; + typedef typename GridType::Traits::Grid GridImp; static const bool v = hasEntity<GridImp,cdim>::v; };