1 #ifndef DUNE_FEM_GRIDPART_COMMON_POLICIES_HH 2 #define DUNE_FEM_GRIDPART_COMMON_POLICIES_HH 7 #include <dune/grid/common/gridview.hh> 20 template<
class Traits >
27 namespace __GridPartPolicies
33 template<
class Traits >
34 std::true_type __hasGridView (
const Traits &,
const typename Traits::GridViewType * =
nullptr );
36 std::false_type __hasGridView ( ... );
38 template<
class Traits >
41 static const bool v = decltype( __hasGridView( std::declval< Traits >() ) )::value;
49 template< class Traits, bool hasGridView = hasGridView< Traits >::v >
52 template<
class Traits >
53 class HasGridView< Traits, true >
56 typedef typename Traits::GridViewType GridViewType;
59 template<
class Traits >
60 class HasGridView< Traits, false >
62 typedef typename Traits::GridPartType GridPartType;
65 typedef Dune::GridView< GridPart2GridViewTraits< GridPartType > > GridViewType;
68 HasGridView () =
default;
77 const GridPartType &impl ()
const 79 return static_cast< const GridPartType &
>( *this );
85 #endif // #ifndef DOXYGEN 92 template<
class Traits >
94 :
public __GridPartPolicies::HasGridView< Traits >
101 #endif // #ifndef DUNE_FEM_GRIDPART_COMMON_POLICIES_HH
Definition: coordinate.hh:4
Definition: gridpart2gridview.hh:16
Definition: policies.hh:21