VTK  9.5.20251109
vtkmAlgorithm.h
Go to the documentation of this file.
1// SPDX-FileCopyrightText: Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
2// SPDX-License-Identifier: BSD-3-Clause
3
39#ifndef vtkmAlgorithm_h
40#define vtkmAlgorithm_h
41
42#include "vtkAlgorithm.h"
43
44VTK_ABI_NAMESPACE_BEGIN
45
46template <class AlgorithmT>
47class vtkmAlgorithm : public AlgorithmT
48{
49public:
51
56
57 static_assert(std::is_base_of<vtkAlgorithm, AlgorithmT>::value,
58 "Template argument must inherit vtkAlgorithm");
59
61
67 vtkGetMacro(ForceVTKm, bool);
68 vtkSetMacro(ForceVTKm, bool);
69 vtkBooleanMacro(ForceVTKm, bool);
71
72protected:
73 vtkmAlgorithm() = default;
74
75 bool ForceVTKm = false;
76
77private:
78 vtkmAlgorithm(const vtkmAlgorithm&) = delete;
79 void operator=(const vtkmAlgorithm&) = delete;
80};
81VTK_ABI_NAMESPACE_END
82
83#endif // vtkmAlgorithm_h
Base class for VTK-m algorithms.
vtkTemplateTypeMacro(vtkmAlgorithm, AlgorithmT)
Standard methods for instantiation, type information, and printing.
vtkmAlgorithm()=default