dune-vtk  0.2
gridcreators/common.hh
Go to the documentation of this file.
1 #pragma once
2 
3 #include <type_traits>
4 
5 namespace Dune
6 {
7  namespace Vtk
8  {
9  template <class Factory, class... Args>
10  using HasInsertVertex = decltype( std::declval<Factory>().insertVertex(std::declval<Args>()...) );
11 
12  namespace Impl
13  {
14  template <class GF, class = void>
15  struct VertexIdType { using type = unsigned int; };
16 
17  template <class GF>
18  struct VertexIdType<GF, typename GF::VertexId> { using type = typename GF::VertexId; };
19  }
20 
21  template <class GF>
22  using VertexId_t = typename Impl::VertexIdType<GF>::type;
23 
24  } //end namespace Vtk
25 } // end namespace Dune
Definition: datacollectorinterface.hh:9
typename Impl::VertexIdType< GF >::type VertexId_t
Definition: gridcreators/common.hh:22
decltype(std::declval< Factory >().insertVertex(std::declval< Args >()...)) HasInsertVertex
Definition: gridcreators/common.hh:10