#include <vtkm/StaticAssert.h>
#include <vtkm/Types.h>
#include <vtkm/internal/Configure.h>
#include <vtkm/internal/ExportMacros.h>
#include <vtkm/cont/vtkm_cont_export.h>
#include <string>
 
Go to the source code of this file.
 | 
|    | vtkm | 
|   | Groups connected points that have the same field value. 
  | 
|   | 
|    | vtkm::cont | 
|   | VTK-m Control Environment. 
  | 
|   | 
◆ VTKM_DEVICE_ADAPTER_ANY
      
        
          | #define VTKM_DEVICE_ADAPTER_ANY   127 | 
        
      
 
 
◆ VTKM_DEVICE_ADAPTER_CUDA
      
        
          | #define VTKM_DEVICE_ADAPTER_CUDA   2 | 
        
      
 
 
◆ VTKM_DEVICE_ADAPTER_KOKKOS
      
        
          | #define VTKM_DEVICE_ADAPTER_KOKKOS   5 | 
        
      
 
 
◆ VTKM_DEVICE_ADAPTER_OPENMP
      
        
          | #define VTKM_DEVICE_ADAPTER_OPENMP   4 | 
        
      
 
 
◆ VTKM_DEVICE_ADAPTER_SERIAL
      
        
          | #define VTKM_DEVICE_ADAPTER_SERIAL   1 | 
        
      
 
 
◆ VTKM_DEVICE_ADAPTER_TBB
      
        
          | #define VTKM_DEVICE_ADAPTER_TBB   3 | 
        
      
 
 
◆ VTKM_DEVICE_ADAPTER_UNDEFINED
      
        
          | #define VTKM_DEVICE_ADAPTER_UNDEFINED   -1 | 
        
      
 
 
◆ VTKM_INVALID_DEVICE_ADAPTER
      
        
          | #define VTKM_INVALID_DEVICE_ADAPTER | 
          ( | 
            | 
          Name,  | 
        
        
           | 
           | 
            | 
          Id  | 
        
        
           | 
          ) | 
           |  | 
        
      
 
Value:
  {                                                                                 \
  namespace cont                                                                    \
  {                                                                                 \
  {                                                                                 \
    constexpr DeviceAdapterTag##Name()                                              \
    {                                                                               \
    }                                                                               \
    static constexpr bool IsEnabled = false;                                        \
  };                                                                                \
  template <>                                                                       \
  struct DeviceAdapterTraits<vtkm::cont::DeviceAdapterTag##Name>                    \
  {                                                                                 \
  };                                                                                \
  }                                                                                 \
  }
 
Marks the tag named vtkm::cont::DeviceAdapterTagName and associated structures as invalid to use. 
Always use this macro (in the base namespace) when creating a device adapter. 
 
 
◆ VTKM_IS_DEVICE_ADAPTER_TAG
      
        
          | #define VTKM_IS_DEVICE_ADAPTER_TAG | 
          ( | 
            | 
          tag | ) | 
           | 
        
      
 
Value:  static_assert(std::is_base_of<vtkm::cont::DeviceAdapterId, tag>::value && \
                  !std::is_same<vtkm::cont::DeviceAdapterId, tag>::value,   \
                "Provided type is not a valid VTK-m device adapter tag.")
 
Checks that the argument is a proper device adapter tag. 
This is a handy concept check for functions and classes to make sure that a template argument is actually a device adapter tag. (You can get weird errors elsewhere in the code when a mistake is made.) 
 
 
◆ VTKM_MAX_DEVICE_ADAPTER_ID
      
        
          | #define VTKM_MAX_DEVICE_ADAPTER_ID   8 | 
        
      
 
 
◆ VTKM_VALID_DEVICE_ADAPTER
      
        
          | #define VTKM_VALID_DEVICE_ADAPTER | 
          ( | 
            | 
          Name,  | 
        
        
           | 
           | 
            | 
          Id  | 
        
        
           | 
          ) | 
           |  | 
        
      
 
Value:
  {                                                                                 \
  namespace cont                                                                    \
  {                                                                                 \
  {                                                                                 \
    constexpr DeviceAdapterTag##Name()                                              \
    {                                                                               \
    }                                                                               \
    static constexpr bool IsEnabled = true;                                         \
  };                                                                                \
  template <>                                                                       \
  struct DeviceAdapterTraits<vtkm::cont::DeviceAdapterTag##Name>                    \
  {                                                                                 \
  };                                                                                \
  }                                                                                 \
  }
 
Creates a tag named vtkm::cont::DeviceAdapterTagName and associated MPL structures to use this tag. 
Always use this macro (in the base namespace) when creating a device adapter.