10 #ifndef vtk_m_cont_internal_RuntimeDeviceConfiguration_h 
   11 #define vtk_m_cont_internal_RuntimeDeviceConfiguration_h 
   13 #include <vtkm/cont/vtkm_cont_export.h> 
   27 enum class RuntimeDeviceConfigReturnCode
 
   36 class VTKM_CONT_EXPORT RuntimeDeviceConfigurationBase
 
   39   VTKM_CONT virtual ~RuntimeDeviceConfigurationBase() noexcept;
 
   40   VTKM_CONT virtual 
vtkm::cont::DeviceAdapterId GetDevice() const = 0;
 
   56   VTKM_CONT virtual RuntimeDeviceConfigReturnCode SetThreads(const 
vtkm::
Id& value);
 
   57   VTKM_CONT virtual RuntimeDeviceConfigReturnCode SetNumaRegions(const 
vtkm::
Id& value);
 
   58   VTKM_CONT virtual RuntimeDeviceConfigReturnCode SetDeviceInstance(const 
vtkm::
Id& value);
 
   62   VTKM_CONT virtual RuntimeDeviceConfigReturnCode GetThreads(
vtkm::
Id& value) const;
 
   63   VTKM_CONT virtual RuntimeDeviceConfigReturnCode GetNumaRegions(
vtkm::
Id& value) const;
 
   64   VTKM_CONT virtual RuntimeDeviceConfigReturnCode GetDeviceInstance(
vtkm::
Id& value) const;
 
   68   VTKM_CONT virtual RuntimeDeviceConfigReturnCode GetMaxThreads(
vtkm::
Id& value) const;
 
   69   VTKM_CONT virtual RuntimeDeviceConfigReturnCode GetMaxDevices(
vtkm::
Id& value) const;
 
   77   VTKM_CONT virtual 
void ParseExtraArguments(
int& argc, 
char* argv[]);
 
   83   VTKM_CONT virtual 
void InitializeSubsystem();
 
   86 template <typename DeviceAdapterTag>
 
   87 class RuntimeDeviceConfiguration;
 
   93 #endif // vtk_m_cont_internal_RuntimeDeviceConfiguration_h