mirror of
https://gitlab.kitware.com/vtk/vtk-m
synced 2024-09-08 13:23:51 +00:00
For several versions, VTK-m has had a `Variant` templated class. This acts like a templated union where the object will store one of a list of types specified as the template arguments. (There are actually 2 versions for the control and execution environments, respectively.) Because this is a complex class that required several iterations to work through performance and compiler issues, `Variant` was placed in the `internal` namespace to avoid complications with backward compatibility. However, the class has been stable for a while, so let us expose this helpful tool for wider use.
20 lines
717 B
C
20 lines
717 B
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_exec_internal_Variant_h
|
|
#define vtk_m_exec_internal_Variant_h
|
|
|
|
// These specify exec version of Variant.
|
|
#define VTK_M_DEVICE VTKM_EXEC
|
|
#define VTK_M_NAMESPACE exec
|
|
|
|
#include <vtkm/internal/VariantImpl.h>
|
|
|
|
#endif //vtk_m_exec_internal_Variant_h
|