10 #ifndef vtk_m_cont_CellSet_h 
   11 #define vtk_m_cont_CellSet_h 
   13 #include <vtkm/cont/vtkm_cont_export.h> 
   36   virtual vtkm::Id GetNumberOfCells() 
const = 0;
 
   38   virtual vtkm::Id GetNumberOfFaces() 
const = 0;
 
   40   virtual vtkm::Id GetNumberOfEdges() 
const = 0;
 
   42   virtual vtkm::Id GetNumberOfPoints() 
const = 0;
 
   48   virtual std::shared_ptr<CellSet> NewInstance() 
const = 0;
 
   49   virtual void DeepCopy(
const CellSet* src) = 0;
 
   51   virtual void PrintSummary(std::ostream&) 
const = 0;
 
   53   virtual void ReleaseResourcesExecution() = 0;
 
   67   using U = 
typename std::remove_pointer<T>::type;
 
   68   using type = 
typename std::is_base_of<vtkm::cont::CellSet, U>::type;
 
   71 #define VTKM_IS_CELL_SET(T) VTKM_STATIC_ASSERT(::vtkm::cont::internal::CellSetCheck<T>::type::value) 
   77 #endif //vtk_m_cont_CellSet_h