vtk-m/vtkm/cont/cuda/DeviceAdapterCuda.h
Kenneth Moreland cb3bb43ff9 Completely deprecate virtual methods
Deprecate `VirtualObjectHandle` and all other classes that are used to
implement objects with virtual methods in the execution environment.

Additionally, the code is updated so that if the
`VTKm_NO_DEPRECATED_VIRTUAL` flag is set none of the code is compiled at
all. This opens us up to opportunities that do not work with virtual
methods such as backends that do not support virtual methods and dynamic
libraries for CUDA.
2021-04-28 07:28:32 -06:00

40 lines
1.4 KiB
C

//============================================================================
// Copyright (c) Kitware, Inc.
// All rights reserved.
// See LICENSE.txt for details.
//
// This software is distributed WITHOUT ANY WARRANTY; without even
// the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
// PURPOSE. See the above copyright notice for more information.
//============================================================================
#ifndef vtk_m_cont_cuda_DeviceAdapterCuda_h
#define vtk_m_cont_cuda_DeviceAdapterCuda_h
#include <vtkm/cont/cuda/internal/DeviceAdapterTagCuda.h>
#ifdef VTKM_ENABLE_CUDA
#ifdef VTKM_CUDA
//This is required to be first so that we get patches for thrust included
//in the correct order
#include <vtkm/exec/cuda/internal/ThrustPatches.h>
#include <vtkm/cont/cuda/internal/DeviceAdapterAlgorithmCuda.h>
#include <vtkm/cont/cuda/internal/DeviceAdapterMemoryManagerCuda.h>
#ifndef VTKM_NO_DEPRECATED_VIRTUAL
#include <vtkm/cont/cuda/internal/VirtualObjectTransferCuda.h>
#endif //VTKM_NO_DEPRECATED_VIRTUAL
#else // !VTKM_CUDA
#ifndef VTKM_NO_ERROR_ON_MIXED_CUDA_CXX_TAG
#error When VTK-m is built with CUDA enabled all compilation units that include DeviceAdapterTagCuda must use the cuda compiler
#endif //!VTKM_NO_ERROR_ON_MIXED_CUDA_CXX_TAG
#endif // !VTKM_CUDA
#endif // VTKM_ENABLE_CUDA
#endif //vtk_m_cont_cuda_DeviceAdapterCuda_h