//============================================================================ // 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. // // Copyright 2014 Sandia Corporation. // Copyright 2014 UT-Battelle, LLC. // Copyright 2014. Los Alamos National Security // // Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, // the U.S. Government retains certain rights in this software. // // Under the terms of Contract DE-AC52-06NA25396 with Los Alamos National // Laboratory (LANL), the U.S. Government retains certain rights in // this software. //============================================================================ // **** DO NOT EDIT THIS FILE!!! **** // This file is automatically generated by FunctionInterfaceDetailPre.h.in #ifndef vtk_m_internal_FunctionInterfaceDetailPre_h #define vtk_m_internal_FunctionInterfaceDetailPre_h #if !defined(vtk_m_internal_FunctionInterface_h) && !defined(VTKM_TEST_HEADER_BUILD) #error FunctionInterfaceDetailPre.h must be included from FunctionInterface.h #endif #include #include #include #define VTKM_MAX_FUNCTION_PARAMETERS 10 namespace vtkm { namespace internal { /// This struct is used internally by FunctionInterface to store the return /// value of a function. There is a special implementation for a return type of /// void, which stores nothing. /// template struct FunctionInterfaceReturnContainer { T Value; static const bool VALID = true; }; template<> struct FunctionInterfaceReturnContainer { // Nothing to store for void return. static const bool VALID = false; }; namespace detail { //============================================================================ // This templated class contains the state of parameters. If you get a compiler // error stating that this class is not specialized, that probably means that // you are using FunctionInterface with an unsupported number of arguments. template struct ParameterContainer; template struct ParameterContainer { }; template struct ParameterContainer { P1 Parameter1; }; template struct ParameterContainer { P1 Parameter1; P2 Parameter2; }; template struct ParameterContainer { P1 Parameter1; P2 Parameter2; P3 Parameter3; }; template struct ParameterContainer { P1 Parameter1; P2 Parameter2; P3 Parameter3; P4 Parameter4; }; template struct ParameterContainer { P1 Parameter1; P2 Parameter2; P3 Parameter3; P4 Parameter4; P5 Parameter5; }; template struct ParameterContainer { P1 Parameter1; P2 Parameter2; P3 Parameter3; P4 Parameter4; P5 Parameter5; P6 Parameter6; }; template struct ParameterContainer { P1 Parameter1; P2 Parameter2; P3 Parameter3; P4 Parameter4; P5 Parameter5; P6 Parameter6; P7 Parameter7; }; template struct ParameterContainer { P1 Parameter1; P2 Parameter2; P3 Parameter3; P4 Parameter4; P5 Parameter5; P6 Parameter6; P7 Parameter7; P8 Parameter8; }; template struct ParameterContainer { P1 Parameter1; P2 Parameter2; P3 Parameter3; P4 Parameter4; P5 Parameter5; P6 Parameter6; P7 Parameter7; P8 Parameter8; P9 Parameter9; }; template struct ParameterContainer { P1 Parameter1; P2 Parameter2; P3 Parameter3; P4 Parameter4; P5 Parameter5; P6 Parameter6; P7 Parameter7; P8 Parameter8; P9 Parameter9; P10 Parameter10; }; //============================================================================ template struct ParameterContainerAccess; template struct ParameterContainerAccess<1, FunctionSignature> { typedef typename boost::mpl::at_c< boost::function_types::components, 1>::type ParameterType; VTKM_EXEC_CONT_EXPORT static ParameterType GetParameter(const ParameterContainer ¶meters) { return parameters.Parameter1; } VTKM_EXEC_CONT_EXPORT static void SetParameter(ParameterContainer ¶meters, const ParameterType &value) { parameters.Parameter1 = value; } }; template struct ParameterContainerAccess<2, FunctionSignature> { typedef typename boost::mpl::at_c< boost::function_types::components, 2>::type ParameterType; VTKM_EXEC_CONT_EXPORT static ParameterType GetParameter(const ParameterContainer ¶meters) { return parameters.Parameter2; } VTKM_EXEC_CONT_EXPORT static void SetParameter(ParameterContainer ¶meters, const ParameterType &value) { parameters.Parameter2 = value; } }; template struct ParameterContainerAccess<3, FunctionSignature> { typedef typename boost::mpl::at_c< boost::function_types::components, 3>::type ParameterType; VTKM_EXEC_CONT_EXPORT static ParameterType GetParameter(const ParameterContainer ¶meters) { return parameters.Parameter3; } VTKM_EXEC_CONT_EXPORT static void SetParameter(ParameterContainer ¶meters, const ParameterType &value) { parameters.Parameter3 = value; } }; template struct ParameterContainerAccess<4, FunctionSignature> { typedef typename boost::mpl::at_c< boost::function_types::components, 4>::type ParameterType; VTKM_EXEC_CONT_EXPORT static ParameterType GetParameter(const ParameterContainer ¶meters) { return parameters.Parameter4; } VTKM_EXEC_CONT_EXPORT static void SetParameter(ParameterContainer ¶meters, const ParameterType &value) { parameters.Parameter4 = value; } }; template struct ParameterContainerAccess<5, FunctionSignature> { typedef typename boost::mpl::at_c< boost::function_types::components, 5>::type ParameterType; VTKM_EXEC_CONT_EXPORT static ParameterType GetParameter(const ParameterContainer ¶meters) { return parameters.Parameter5; } VTKM_EXEC_CONT_EXPORT static void SetParameter(ParameterContainer ¶meters, const ParameterType &value) { parameters.Parameter5 = value; } }; template struct ParameterContainerAccess<6, FunctionSignature> { typedef typename boost::mpl::at_c< boost::function_types::components, 6>::type ParameterType; VTKM_EXEC_CONT_EXPORT static ParameterType GetParameter(const ParameterContainer ¶meters) { return parameters.Parameter6; } VTKM_EXEC_CONT_EXPORT static void SetParameter(ParameterContainer ¶meters, const ParameterType &value) { parameters.Parameter6 = value; } }; template struct ParameterContainerAccess<7, FunctionSignature> { typedef typename boost::mpl::at_c< boost::function_types::components, 7>::type ParameterType; VTKM_EXEC_CONT_EXPORT static ParameterType GetParameter(const ParameterContainer ¶meters) { return parameters.Parameter7; } VTKM_EXEC_CONT_EXPORT static void SetParameter(ParameterContainer ¶meters, const ParameterType &value) { parameters.Parameter7 = value; } }; template struct ParameterContainerAccess<8, FunctionSignature> { typedef typename boost::mpl::at_c< boost::function_types::components, 8>::type ParameterType; VTKM_EXEC_CONT_EXPORT static ParameterType GetParameter(const ParameterContainer ¶meters) { return parameters.Parameter8; } VTKM_EXEC_CONT_EXPORT static void SetParameter(ParameterContainer ¶meters, const ParameterType &value) { parameters.Parameter8 = value; } }; template struct ParameterContainerAccess<9, FunctionSignature> { typedef typename boost::mpl::at_c< boost::function_types::components, 9>::type ParameterType; VTKM_EXEC_CONT_EXPORT static ParameterType GetParameter(const ParameterContainer ¶meters) { return parameters.Parameter9; } VTKM_EXEC_CONT_EXPORT static void SetParameter(ParameterContainer ¶meters, const ParameterType &value) { parameters.Parameter9 = value; } }; template struct ParameterContainerAccess<10, FunctionSignature> { typedef typename boost::mpl::at_c< boost::function_types::components, 10>::type ParameterType; VTKM_EXEC_CONT_EXPORT static ParameterType GetParameter(const ParameterContainer ¶meters) { return parameters.Parameter10; } VTKM_EXEC_CONT_EXPORT static void SetParameter(ParameterContainer ¶meters, const ParameterType &value) { parameters.Parameter10 = value; } }; //============================================================================ template VTKM_CONT_EXPORT void DoInvokeCont( const Functor &f, ParameterContainer ¶meters, FunctionInterfaceReturnContainer &result, const TransformFunctor &transform) { (void) parameters; result.Value = transform(f()); } template VTKM_CONT_EXPORT void DoInvokeCont( const Functor &f, ParameterContainer ¶meters, FunctionInterfaceReturnContainer &, const TransformFunctor &transform) { (void) parameters; (void) transform; f(); } template VTKM_CONT_EXPORT void DoInvokeCont( Functor &f, ParameterContainer ¶meters, FunctionInterfaceReturnContainer &result, const TransformFunctor &transform) { (void) parameters; result.Value = transform(f()); } template VTKM_CONT_EXPORT void DoInvokeCont( Functor &f, ParameterContainer ¶meters, FunctionInterfaceReturnContainer &, const TransformFunctor &transform) { (void) parameters; (void) transform; f(); } template VTKM_EXEC_EXPORT void DoInvokeExec( const Functor &f, ParameterContainer ¶meters, FunctionInterfaceReturnContainer &result, const TransformFunctor &transform) { (void) parameters; result.Value = transform(f()); } template VTKM_EXEC_EXPORT void DoInvokeExec( const Functor &f, ParameterContainer ¶meters, FunctionInterfaceReturnContainer &, const TransformFunctor &transform) { (void) parameters; (void) transform; f(); } template VTKM_EXEC_EXPORT void DoInvokeExec( Functor &f, ParameterContainer ¶meters, FunctionInterfaceReturnContainer &result, const TransformFunctor &transform) { (void) parameters; result.Value = transform(f()); } template VTKM_EXEC_EXPORT void DoInvokeExec( Functor &f, ParameterContainer ¶meters, FunctionInterfaceReturnContainer &, const TransformFunctor &transform) { (void) parameters; (void) transform; f(); } template VTKM_CONT_EXPORT void DoInvokeCont( const Functor &f, ParameterContainer ¶meters, FunctionInterfaceReturnContainer &result, const TransformFunctor &transform) { result.Value = transform(f( transform(parameters.Parameter1))); } template VTKM_CONT_EXPORT void DoInvokeCont( const Functor &f, ParameterContainer ¶meters, FunctionInterfaceReturnContainer &, const TransformFunctor &transform) { f( transform(parameters.Parameter1)); } template VTKM_CONT_EXPORT void DoInvokeCont( Functor &f, ParameterContainer ¶meters, FunctionInterfaceReturnContainer &result, const TransformFunctor &transform) { result.Value = transform(f( transform(parameters.Parameter1))); } template VTKM_CONT_EXPORT void DoInvokeCont( Functor &f, ParameterContainer ¶meters, FunctionInterfaceReturnContainer &, const TransformFunctor &transform) { f( transform(parameters.Parameter1)); } template VTKM_EXEC_EXPORT void DoInvokeExec( const Functor &f, ParameterContainer ¶meters, FunctionInterfaceReturnContainer &result, const TransformFunctor &transform) { result.Value = transform(f( transform(parameters.Parameter1))); } template VTKM_EXEC_EXPORT void DoInvokeExec( const Functor &f, ParameterContainer ¶meters, FunctionInterfaceReturnContainer &, const TransformFunctor &transform) { f( transform(parameters.Parameter1)); } template VTKM_EXEC_EXPORT void DoInvokeExec( Functor &f, ParameterContainer ¶meters, FunctionInterfaceReturnContainer &result, const TransformFunctor &transform) { result.Value = transform(f( transform(parameters.Parameter1))); } template VTKM_EXEC_EXPORT void DoInvokeExec( Functor &f, ParameterContainer ¶meters, FunctionInterfaceReturnContainer &, const TransformFunctor &transform) { f( transform(parameters.Parameter1)); } template VTKM_CONT_EXPORT void DoInvokeCont( const Functor &f, ParameterContainer ¶meters, FunctionInterfaceReturnContainer &result, const TransformFunctor &transform) { result.Value = transform(f( transform(parameters.Parameter1), transform(parameters.Parameter2))); } template VTKM_CONT_EXPORT void DoInvokeCont( const Functor &f, ParameterContainer ¶meters, FunctionInterfaceReturnContainer &, const TransformFunctor &transform) { f( transform(parameters.Parameter1), transform(parameters.Parameter2)); } template VTKM_CONT_EXPORT void DoInvokeCont( Functor &f, ParameterContainer ¶meters, FunctionInterfaceReturnContainer &result, const TransformFunctor &transform) { result.Value = transform(f( transform(parameters.Parameter1), transform(parameters.Parameter2))); } template VTKM_CONT_EXPORT void DoInvokeCont( Functor &f, ParameterContainer ¶meters, FunctionInterfaceReturnContainer &, const TransformFunctor &transform) { f( transform(parameters.Parameter1), transform(parameters.Parameter2)); } template VTKM_EXEC_EXPORT void DoInvokeExec( const Functor &f, ParameterContainer ¶meters, FunctionInterfaceReturnContainer &result, const TransformFunctor &transform) { result.Value = transform(f( transform(parameters.Parameter1), transform(parameters.Parameter2))); } template VTKM_EXEC_EXPORT void DoInvokeExec( const Functor &f, ParameterContainer ¶meters, FunctionInterfaceReturnContainer &, const TransformFunctor &transform) { f( transform(parameters.Parameter1), transform(parameters.Parameter2)); } template VTKM_EXEC_EXPORT void DoInvokeExec( Functor &f, ParameterContainer ¶meters, FunctionInterfaceReturnContainer &result, const TransformFunctor &transform) { result.Value = transform(f( transform(parameters.Parameter1), transform(parameters.Parameter2))); } template VTKM_EXEC_EXPORT void DoInvokeExec( Functor &f, ParameterContainer ¶meters, FunctionInterfaceReturnContainer &, const TransformFunctor &transform) { f( transform(parameters.Parameter1), transform(parameters.Parameter2)); } template VTKM_CONT_EXPORT void DoInvokeCont( const Functor &f, ParameterContainer ¶meters, FunctionInterfaceReturnContainer &result, const TransformFunctor &transform) { result.Value = transform(f( transform(parameters.Parameter1), transform(parameters.Parameter2), transform(parameters.Parameter3))); } template VTKM_CONT_EXPORT void DoInvokeCont( const Functor &f, ParameterContainer ¶meters, FunctionInterfaceReturnContainer &, const TransformFunctor &transform) { f( transform(parameters.Parameter1), transform(parameters.Parameter2), transform(parameters.Parameter3)); } template VTKM_CONT_EXPORT void DoInvokeCont( Functor &f, ParameterContainer ¶meters, FunctionInterfaceReturnContainer &result, const TransformFunctor &transform) { result.Value = transform(f( transform(parameters.Parameter1), transform(parameters.Parameter2), transform(parameters.Parameter3))); } template VTKM_CONT_EXPORT void DoInvokeCont( Functor &f, ParameterContainer ¶meters, FunctionInterfaceReturnContainer &, const TransformFunctor &transform) { f( transform(parameters.Parameter1), transform(parameters.Parameter2), transform(parameters.Parameter3)); } template VTKM_EXEC_EXPORT void DoInvokeExec( const Functor &f, ParameterContainer ¶meters, FunctionInterfaceReturnContainer &result, const TransformFunctor &transform) { result.Value = transform(f( transform(parameters.Parameter1), transform(parameters.Parameter2), transform(parameters.Parameter3))); } template VTKM_EXEC_EXPORT void DoInvokeExec( const Functor &f, ParameterContainer ¶meters, FunctionInterfaceReturnContainer &, const TransformFunctor &transform) { f( transform(parameters.Parameter1), transform(parameters.Parameter2), transform(parameters.Parameter3)); } template VTKM_EXEC_EXPORT void DoInvokeExec( Functor &f, ParameterContainer ¶meters, FunctionInterfaceReturnContainer &result, const TransformFunctor &transform) { result.Value = transform(f( transform(parameters.Parameter1), transform(parameters.Parameter2), transform(parameters.Parameter3))); } template VTKM_EXEC_EXPORT void DoInvokeExec( Functor &f, ParameterContainer ¶meters, FunctionInterfaceReturnContainer &, const TransformFunctor &transform) { f( transform(parameters.Parameter1), transform(parameters.Parameter2), transform(parameters.Parameter3)); } template VTKM_CONT_EXPORT void DoInvokeCont( const Functor &f, ParameterContainer ¶meters, FunctionInterfaceReturnContainer &result, const TransformFunctor &transform) { result.Value = transform(f( transform(parameters.Parameter1), transform(parameters.Parameter2), transform(parameters.Parameter3), transform(parameters.Parameter4))); } template VTKM_CONT_EXPORT void DoInvokeCont( const Functor &f, ParameterContainer ¶meters, FunctionInterfaceReturnContainer &, const TransformFunctor &transform) { f( transform(parameters.Parameter1), transform(parameters.Parameter2), transform(parameters.Parameter3), transform(parameters.Parameter4)); } template VTKM_CONT_EXPORT void DoInvokeCont( Functor &f, ParameterContainer ¶meters, FunctionInterfaceReturnContainer &result, const TransformFunctor &transform) { result.Value = transform(f( transform(parameters.Parameter1), transform(parameters.Parameter2), transform(parameters.Parameter3), transform(parameters.Parameter4))); } template VTKM_CONT_EXPORT void DoInvokeCont( Functor &f, ParameterContainer ¶meters, FunctionInterfaceReturnContainer &, const TransformFunctor &transform) { f( transform(parameters.Parameter1), transform(parameters.Parameter2), transform(parameters.Parameter3), transform(parameters.Parameter4)); } template VTKM_EXEC_EXPORT void DoInvokeExec( const Functor &f, ParameterContainer ¶meters, FunctionInterfaceReturnContainer &result, const TransformFunctor &transform) { result.Value = transform(f( transform(parameters.Parameter1), transform(parameters.Parameter2), transform(parameters.Parameter3), transform(parameters.Parameter4))); } template VTKM_EXEC_EXPORT void DoInvokeExec( const Functor &f, ParameterContainer ¶meters, FunctionInterfaceReturnContainer &, const TransformFunctor &transform) { f( transform(parameters.Parameter1), transform(parameters.Parameter2), transform(parameters.Parameter3), transform(parameters.Parameter4)); } template VTKM_EXEC_EXPORT void DoInvokeExec( Functor &f, ParameterContainer ¶meters, FunctionInterfaceReturnContainer &result, const TransformFunctor &transform) { result.Value = transform(f( transform(parameters.Parameter1), transform(parameters.Parameter2), transform(parameters.Parameter3), transform(parameters.Parameter4))); } template VTKM_EXEC_EXPORT void DoInvokeExec( Functor &f, ParameterContainer ¶meters, FunctionInterfaceReturnContainer &, const TransformFunctor &transform) { f( transform(parameters.Parameter1), transform(parameters.Parameter2), transform(parameters.Parameter3), transform(parameters.Parameter4)); } template VTKM_CONT_EXPORT void DoInvokeCont( const Functor &f, ParameterContainer ¶meters, FunctionInterfaceReturnContainer &result, const TransformFunctor &transform) { result.Value = transform(f( transform(parameters.Parameter1), transform(parameters.Parameter2), transform(parameters.Parameter3), transform(parameters.Parameter4), transform(parameters.Parameter5))); } template VTKM_CONT_EXPORT void DoInvokeCont( const Functor &f, ParameterContainer ¶meters, FunctionInterfaceReturnContainer &, const TransformFunctor &transform) { f( transform(parameters.Parameter1), transform(parameters.Parameter2), transform(parameters.Parameter3), transform(parameters.Parameter4), transform(parameters.Parameter5)); } template VTKM_CONT_EXPORT void DoInvokeCont( Functor &f, ParameterContainer ¶meters, FunctionInterfaceReturnContainer &result, const TransformFunctor &transform) { result.Value = transform(f( transform(parameters.Parameter1), transform(parameters.Parameter2), transform(parameters.Parameter3), transform(parameters.Parameter4), transform(parameters.Parameter5))); } template VTKM_CONT_EXPORT void DoInvokeCont( Functor &f, ParameterContainer ¶meters, FunctionInterfaceReturnContainer &, const TransformFunctor &transform) { f( transform(parameters.Parameter1), transform(parameters.Parameter2), transform(parameters.Parameter3), transform(parameters.Parameter4), transform(parameters.Parameter5)); } template VTKM_EXEC_EXPORT void DoInvokeExec( const Functor &f, ParameterContainer ¶meters, FunctionInterfaceReturnContainer &result, const TransformFunctor &transform) { result.Value = transform(f( transform(parameters.Parameter1), transform(parameters.Parameter2), transform(parameters.Parameter3), transform(parameters.Parameter4), transform(parameters.Parameter5))); } template VTKM_EXEC_EXPORT void DoInvokeExec( const Functor &f, ParameterContainer ¶meters, FunctionInterfaceReturnContainer &, const TransformFunctor &transform) { f( transform(parameters.Parameter1), transform(parameters.Parameter2), transform(parameters.Parameter3), transform(parameters.Parameter4), transform(parameters.Parameter5)); } template VTKM_EXEC_EXPORT void DoInvokeExec( Functor &f, ParameterContainer ¶meters, FunctionInterfaceReturnContainer &result, const TransformFunctor &transform) { result.Value = transform(f( transform(parameters.Parameter1), transform(parameters.Parameter2), transform(parameters.Parameter3), transform(parameters.Parameter4), transform(parameters.Parameter5))); } template VTKM_EXEC_EXPORT void DoInvokeExec( Functor &f, ParameterContainer ¶meters, FunctionInterfaceReturnContainer &, const TransformFunctor &transform) { f( transform(parameters.Parameter1), transform(parameters.Parameter2), transform(parameters.Parameter3), transform(parameters.Parameter4), transform(parameters.Parameter5)); } template VTKM_CONT_EXPORT void DoInvokeCont( const Functor &f, ParameterContainer ¶meters, FunctionInterfaceReturnContainer &result, const TransformFunctor &transform) { result.Value = transform(f( transform(parameters.Parameter1), transform(parameters.Parameter2), transform(parameters.Parameter3), transform(parameters.Parameter4), transform(parameters.Parameter5), transform(parameters.Parameter6))); } template VTKM_CONT_EXPORT void DoInvokeCont( const Functor &f, ParameterContainer ¶meters, FunctionInterfaceReturnContainer &, const TransformFunctor &transform) { f( transform(parameters.Parameter1), transform(parameters.Parameter2), transform(parameters.Parameter3), transform(parameters.Parameter4), transform(parameters.Parameter5), transform(parameters.Parameter6)); } template VTKM_CONT_EXPORT void DoInvokeCont( Functor &f, ParameterContainer ¶meters, FunctionInterfaceReturnContainer &result, const TransformFunctor &transform) { result.Value = transform(f( transform(parameters.Parameter1), transform(parameters.Parameter2), transform(parameters.Parameter3), transform(parameters.Parameter4), transform(parameters.Parameter5), transform(parameters.Parameter6))); } template VTKM_CONT_EXPORT void DoInvokeCont( Functor &f, ParameterContainer ¶meters, FunctionInterfaceReturnContainer &, const TransformFunctor &transform) { f( transform(parameters.Parameter1), transform(parameters.Parameter2), transform(parameters.Parameter3), transform(parameters.Parameter4), transform(parameters.Parameter5), transform(parameters.Parameter6)); } template VTKM_EXEC_EXPORT void DoInvokeExec( const Functor &f, ParameterContainer ¶meters, FunctionInterfaceReturnContainer &result, const TransformFunctor &transform) { result.Value = transform(f( transform(parameters.Parameter1), transform(parameters.Parameter2), transform(parameters.Parameter3), transform(parameters.Parameter4), transform(parameters.Parameter5), transform(parameters.Parameter6))); } template VTKM_EXEC_EXPORT void DoInvokeExec( const Functor &f, ParameterContainer ¶meters, FunctionInterfaceReturnContainer &, const TransformFunctor &transform) { f( transform(parameters.Parameter1), transform(parameters.Parameter2), transform(parameters.Parameter3), transform(parameters.Parameter4), transform(parameters.Parameter5), transform(parameters.Parameter6)); } template VTKM_EXEC_EXPORT void DoInvokeExec( Functor &f, ParameterContainer ¶meters, FunctionInterfaceReturnContainer &result, const TransformFunctor &transform) { result.Value = transform(f( transform(parameters.Parameter1), transform(parameters.Parameter2), transform(parameters.Parameter3), transform(parameters.Parameter4), transform(parameters.Parameter5), transform(parameters.Parameter6))); } template VTKM_EXEC_EXPORT void DoInvokeExec( Functor &f, ParameterContainer ¶meters, FunctionInterfaceReturnContainer &, const TransformFunctor &transform) { f( transform(parameters.Parameter1), transform(parameters.Parameter2), transform(parameters.Parameter3), transform(parameters.Parameter4), transform(parameters.Parameter5), transform(parameters.Parameter6)); } template VTKM_CONT_EXPORT void DoInvokeCont( const Functor &f, ParameterContainer ¶meters, FunctionInterfaceReturnContainer &result, const TransformFunctor &transform) { result.Value = transform(f( transform(parameters.Parameter1), transform(parameters.Parameter2), transform(parameters.Parameter3), transform(parameters.Parameter4), transform(parameters.Parameter5), transform(parameters.Parameter6), transform(parameters.Parameter7))); } template VTKM_CONT_EXPORT void DoInvokeCont( const Functor &f, ParameterContainer ¶meters, FunctionInterfaceReturnContainer &, const TransformFunctor &transform) { f( transform(parameters.Parameter1), transform(parameters.Parameter2), transform(parameters.Parameter3), transform(parameters.Parameter4), transform(parameters.Parameter5), transform(parameters.Parameter6), transform(parameters.Parameter7)); } template VTKM_CONT_EXPORT void DoInvokeCont( Functor &f, ParameterContainer ¶meters, FunctionInterfaceReturnContainer &result, const TransformFunctor &transform) { result.Value = transform(f( transform(parameters.Parameter1), transform(parameters.Parameter2), transform(parameters.Parameter3), transform(parameters.Parameter4), transform(parameters.Parameter5), transform(parameters.Parameter6), transform(parameters.Parameter7))); } template VTKM_CONT_EXPORT void DoInvokeCont( Functor &f, ParameterContainer ¶meters, FunctionInterfaceReturnContainer &, const TransformFunctor &transform) { f( transform(parameters.Parameter1), transform(parameters.Parameter2), transform(parameters.Parameter3), transform(parameters.Parameter4), transform(parameters.Parameter5), transform(parameters.Parameter6), transform(parameters.Parameter7)); } template VTKM_EXEC_EXPORT void DoInvokeExec( const Functor &f, ParameterContainer ¶meters, FunctionInterfaceReturnContainer &result, const TransformFunctor &transform) { result.Value = transform(f( transform(parameters.Parameter1), transform(parameters.Parameter2), transform(parameters.Parameter3), transform(parameters.Parameter4), transform(parameters.Parameter5), transform(parameters.Parameter6), transform(parameters.Parameter7))); } template VTKM_EXEC_EXPORT void DoInvokeExec( const Functor &f, ParameterContainer ¶meters, FunctionInterfaceReturnContainer &, const TransformFunctor &transform) { f( transform(parameters.Parameter1), transform(parameters.Parameter2), transform(parameters.Parameter3), transform(parameters.Parameter4), transform(parameters.Parameter5), transform(parameters.Parameter6), transform(parameters.Parameter7)); } template VTKM_EXEC_EXPORT void DoInvokeExec( Functor &f, ParameterContainer ¶meters, FunctionInterfaceReturnContainer &result, const TransformFunctor &transform) { result.Value = transform(f( transform(parameters.Parameter1), transform(parameters.Parameter2), transform(parameters.Parameter3), transform(parameters.Parameter4), transform(parameters.Parameter5), transform(parameters.Parameter6), transform(parameters.Parameter7))); } template VTKM_EXEC_EXPORT void DoInvokeExec( Functor &f, ParameterContainer ¶meters, FunctionInterfaceReturnContainer &, const TransformFunctor &transform) { f( transform(parameters.Parameter1), transform(parameters.Parameter2), transform(parameters.Parameter3), transform(parameters.Parameter4), transform(parameters.Parameter5), transform(parameters.Parameter6), transform(parameters.Parameter7)); } template VTKM_CONT_EXPORT void DoInvokeCont( const Functor &f, ParameterContainer ¶meters, FunctionInterfaceReturnContainer &result, const TransformFunctor &transform) { result.Value = transform(f( transform(parameters.Parameter1), transform(parameters.Parameter2), transform(parameters.Parameter3), transform(parameters.Parameter4), transform(parameters.Parameter5), transform(parameters.Parameter6), transform(parameters.Parameter7), transform(parameters.Parameter8))); } template VTKM_CONT_EXPORT void DoInvokeCont( const Functor &f, ParameterContainer ¶meters, FunctionInterfaceReturnContainer &, const TransformFunctor &transform) { f( transform(parameters.Parameter1), transform(parameters.Parameter2), transform(parameters.Parameter3), transform(parameters.Parameter4), transform(parameters.Parameter5), transform(parameters.Parameter6), transform(parameters.Parameter7), transform(parameters.Parameter8)); } template VTKM_CONT_EXPORT void DoInvokeCont( Functor &f, ParameterContainer ¶meters, FunctionInterfaceReturnContainer &result, const TransformFunctor &transform) { result.Value = transform(f( transform(parameters.Parameter1), transform(parameters.Parameter2), transform(parameters.Parameter3), transform(parameters.Parameter4), transform(parameters.Parameter5), transform(parameters.Parameter6), transform(parameters.Parameter7), transform(parameters.Parameter8))); } template VTKM_CONT_EXPORT void DoInvokeCont( Functor &f, ParameterContainer ¶meters, FunctionInterfaceReturnContainer &, const TransformFunctor &transform) { f( transform(parameters.Parameter1), transform(parameters.Parameter2), transform(parameters.Parameter3), transform(parameters.Parameter4), transform(parameters.Parameter5), transform(parameters.Parameter6), transform(parameters.Parameter7), transform(parameters.Parameter8)); } template VTKM_EXEC_EXPORT void DoInvokeExec( const Functor &f, ParameterContainer ¶meters, FunctionInterfaceReturnContainer &result, const TransformFunctor &transform) { result.Value = transform(f( transform(parameters.Parameter1), transform(parameters.Parameter2), transform(parameters.Parameter3), transform(parameters.Parameter4), transform(parameters.Parameter5), transform(parameters.Parameter6), transform(parameters.Parameter7), transform(parameters.Parameter8))); } template VTKM_EXEC_EXPORT void DoInvokeExec( const Functor &f, ParameterContainer ¶meters, FunctionInterfaceReturnContainer &, const TransformFunctor &transform) { f( transform(parameters.Parameter1), transform(parameters.Parameter2), transform(parameters.Parameter3), transform(parameters.Parameter4), transform(parameters.Parameter5), transform(parameters.Parameter6), transform(parameters.Parameter7), transform(parameters.Parameter8)); } template VTKM_EXEC_EXPORT void DoInvokeExec( Functor &f, ParameterContainer ¶meters, FunctionInterfaceReturnContainer &result, const TransformFunctor &transform) { result.Value = transform(f( transform(parameters.Parameter1), transform(parameters.Parameter2), transform(parameters.Parameter3), transform(parameters.Parameter4), transform(parameters.Parameter5), transform(parameters.Parameter6), transform(parameters.Parameter7), transform(parameters.Parameter8))); } template VTKM_EXEC_EXPORT void DoInvokeExec( Functor &f, ParameterContainer ¶meters, FunctionInterfaceReturnContainer &, const TransformFunctor &transform) { f( transform(parameters.Parameter1), transform(parameters.Parameter2), transform(parameters.Parameter3), transform(parameters.Parameter4), transform(parameters.Parameter5), transform(parameters.Parameter6), transform(parameters.Parameter7), transform(parameters.Parameter8)); } template VTKM_CONT_EXPORT void DoInvokeCont( const Functor &f, ParameterContainer ¶meters, FunctionInterfaceReturnContainer &result, const TransformFunctor &transform) { result.Value = transform(f( transform(parameters.Parameter1), transform(parameters.Parameter2), transform(parameters.Parameter3), transform(parameters.Parameter4), transform(parameters.Parameter5), transform(parameters.Parameter6), transform(parameters.Parameter7), transform(parameters.Parameter8), transform(parameters.Parameter9))); } template VTKM_CONT_EXPORT void DoInvokeCont( const Functor &f, ParameterContainer ¶meters, FunctionInterfaceReturnContainer &, const TransformFunctor &transform) { f( transform(parameters.Parameter1), transform(parameters.Parameter2), transform(parameters.Parameter3), transform(parameters.Parameter4), transform(parameters.Parameter5), transform(parameters.Parameter6), transform(parameters.Parameter7), transform(parameters.Parameter8), transform(parameters.Parameter9)); } template VTKM_CONT_EXPORT void DoInvokeCont( Functor &f, ParameterContainer ¶meters, FunctionInterfaceReturnContainer &result, const TransformFunctor &transform) { result.Value = transform(f( transform(parameters.Parameter1), transform(parameters.Parameter2), transform(parameters.Parameter3), transform(parameters.Parameter4), transform(parameters.Parameter5), transform(parameters.Parameter6), transform(parameters.Parameter7), transform(parameters.Parameter8), transform(parameters.Parameter9))); } template VTKM_CONT_EXPORT void DoInvokeCont( Functor &f, ParameterContainer ¶meters, FunctionInterfaceReturnContainer &, const TransformFunctor &transform) { f( transform(parameters.Parameter1), transform(parameters.Parameter2), transform(parameters.Parameter3), transform(parameters.Parameter4), transform(parameters.Parameter5), transform(parameters.Parameter6), transform(parameters.Parameter7), transform(parameters.Parameter8), transform(parameters.Parameter9)); } template VTKM_EXEC_EXPORT void DoInvokeExec( const Functor &f, ParameterContainer ¶meters, FunctionInterfaceReturnContainer &result, const TransformFunctor &transform) { result.Value = transform(f( transform(parameters.Parameter1), transform(parameters.Parameter2), transform(parameters.Parameter3), transform(parameters.Parameter4), transform(parameters.Parameter5), transform(parameters.Parameter6), transform(parameters.Parameter7), transform(parameters.Parameter8), transform(parameters.Parameter9))); } template VTKM_EXEC_EXPORT void DoInvokeExec( const Functor &f, ParameterContainer ¶meters, FunctionInterfaceReturnContainer &, const TransformFunctor &transform) { f( transform(parameters.Parameter1), transform(parameters.Parameter2), transform(parameters.Parameter3), transform(parameters.Parameter4), transform(parameters.Parameter5), transform(parameters.Parameter6), transform(parameters.Parameter7), transform(parameters.Parameter8), transform(parameters.Parameter9)); } template VTKM_EXEC_EXPORT void DoInvokeExec( Functor &f, ParameterContainer ¶meters, FunctionInterfaceReturnContainer &result, const TransformFunctor &transform) { result.Value = transform(f( transform(parameters.Parameter1), transform(parameters.Parameter2), transform(parameters.Parameter3), transform(parameters.Parameter4), transform(parameters.Parameter5), transform(parameters.Parameter6), transform(parameters.Parameter7), transform(parameters.Parameter8), transform(parameters.Parameter9))); } template VTKM_EXEC_EXPORT void DoInvokeExec( Functor &f, ParameterContainer ¶meters, FunctionInterfaceReturnContainer &, const TransformFunctor &transform) { f( transform(parameters.Parameter1), transform(parameters.Parameter2), transform(parameters.Parameter3), transform(parameters.Parameter4), transform(parameters.Parameter5), transform(parameters.Parameter6), transform(parameters.Parameter7), transform(parameters.Parameter8), transform(parameters.Parameter9)); } template VTKM_CONT_EXPORT void DoInvokeCont( const Functor &f, ParameterContainer ¶meters, FunctionInterfaceReturnContainer &result, const TransformFunctor &transform) { result.Value = transform(f( transform(parameters.Parameter1), transform(parameters.Parameter2), transform(parameters.Parameter3), transform(parameters.Parameter4), transform(parameters.Parameter5), transform(parameters.Parameter6), transform(parameters.Parameter7), transform(parameters.Parameter8), transform(parameters.Parameter9), transform(parameters.Parameter10))); } template VTKM_CONT_EXPORT void DoInvokeCont( const Functor &f, ParameterContainer ¶meters, FunctionInterfaceReturnContainer &, const TransformFunctor &transform) { f( transform(parameters.Parameter1), transform(parameters.Parameter2), transform(parameters.Parameter3), transform(parameters.Parameter4), transform(parameters.Parameter5), transform(parameters.Parameter6), transform(parameters.Parameter7), transform(parameters.Parameter8), transform(parameters.Parameter9), transform(parameters.Parameter10)); } template VTKM_CONT_EXPORT void DoInvokeCont( Functor &f, ParameterContainer ¶meters, FunctionInterfaceReturnContainer &result, const TransformFunctor &transform) { result.Value = transform(f( transform(parameters.Parameter1), transform(parameters.Parameter2), transform(parameters.Parameter3), transform(parameters.Parameter4), transform(parameters.Parameter5), transform(parameters.Parameter6), transform(parameters.Parameter7), transform(parameters.Parameter8), transform(parameters.Parameter9), transform(parameters.Parameter10))); } template VTKM_CONT_EXPORT void DoInvokeCont( Functor &f, ParameterContainer ¶meters, FunctionInterfaceReturnContainer &, const TransformFunctor &transform) { f( transform(parameters.Parameter1), transform(parameters.Parameter2), transform(parameters.Parameter3), transform(parameters.Parameter4), transform(parameters.Parameter5), transform(parameters.Parameter6), transform(parameters.Parameter7), transform(parameters.Parameter8), transform(parameters.Parameter9), transform(parameters.Parameter10)); } template VTKM_EXEC_EXPORT void DoInvokeExec( const Functor &f, ParameterContainer ¶meters, FunctionInterfaceReturnContainer &result, const TransformFunctor &transform) { result.Value = transform(f( transform(parameters.Parameter1), transform(parameters.Parameter2), transform(parameters.Parameter3), transform(parameters.Parameter4), transform(parameters.Parameter5), transform(parameters.Parameter6), transform(parameters.Parameter7), transform(parameters.Parameter8), transform(parameters.Parameter9), transform(parameters.Parameter10))); } template VTKM_EXEC_EXPORT void DoInvokeExec( const Functor &f, ParameterContainer ¶meters, FunctionInterfaceReturnContainer &, const TransformFunctor &transform) { f( transform(parameters.Parameter1), transform(parameters.Parameter2), transform(parameters.Parameter3), transform(parameters.Parameter4), transform(parameters.Parameter5), transform(parameters.Parameter6), transform(parameters.Parameter7), transform(parameters.Parameter8), transform(parameters.Parameter9), transform(parameters.Parameter10)); } template VTKM_EXEC_EXPORT void DoInvokeExec( Functor &f, ParameterContainer ¶meters, FunctionInterfaceReturnContainer &result, const TransformFunctor &transform) { result.Value = transform(f( transform(parameters.Parameter1), transform(parameters.Parameter2), transform(parameters.Parameter3), transform(parameters.Parameter4), transform(parameters.Parameter5), transform(parameters.Parameter6), transform(parameters.Parameter7), transform(parameters.Parameter8), transform(parameters.Parameter9), transform(parameters.Parameter10))); } template VTKM_EXEC_EXPORT void DoInvokeExec( Functor &f, ParameterContainer ¶meters, FunctionInterfaceReturnContainer &, const TransformFunctor &transform) { f( transform(parameters.Parameter1), transform(parameters.Parameter2), transform(parameters.Parameter3), transform(parameters.Parameter4), transform(parameters.Parameter5), transform(parameters.Parameter6), transform(parameters.Parameter7), transform(parameters.Parameter8), transform(parameters.Parameter9), transform(parameters.Parameter10)); } //============================================================================ template struct FunctionInterfaceStaticTransformType; template VTKM_CONT_EXPORT void DoStaticTransformCont( const Transform &transform, const ParameterContainer &originalParameters, ParameterContainer &transformedParameters) { (void)transform; (void)originalParameters; (void)transformedParameters; } template VTKM_EXEC_EXPORT void DoStaticTransformExec( const Transform &transform, const ParameterContainer &originalParameters, ParameterContainer &transformedParameters) { (void)transform; (void)originalParameters; (void)transformedParameters; } template VTKM_CONT_EXPORT void DoStaticTransformCont( const Transform &transform, const ParameterContainer &originalParameters, ParameterContainer &transformedParameters) { transformedParameters.Parameter1 = transform(originalParameters.Parameter1); } template VTKM_EXEC_EXPORT void DoStaticTransformExec( const Transform &transform, const ParameterContainer &originalParameters, ParameterContainer &transformedParameters) { transformedParameters.Parameter1 = transform(originalParameters.Parameter1); } template VTKM_CONT_EXPORT void DoStaticTransformCont( const Transform &transform, const ParameterContainer &originalParameters, ParameterContainer &transformedParameters) { transformedParameters.Parameter1 = transform(originalParameters.Parameter1); transformedParameters.Parameter2 = transform(originalParameters.Parameter2); } template VTKM_EXEC_EXPORT void DoStaticTransformExec( const Transform &transform, const ParameterContainer &originalParameters, ParameterContainer &transformedParameters) { transformedParameters.Parameter1 = transform(originalParameters.Parameter1); transformedParameters.Parameter2 = transform(originalParameters.Parameter2); } template VTKM_CONT_EXPORT void DoStaticTransformCont( const Transform &transform, const ParameterContainer &originalParameters, ParameterContainer &transformedParameters) { transformedParameters.Parameter1 = transform(originalParameters.Parameter1); transformedParameters.Parameter2 = transform(originalParameters.Parameter2); transformedParameters.Parameter3 = transform(originalParameters.Parameter3); } template VTKM_EXEC_EXPORT void DoStaticTransformExec( const Transform &transform, const ParameterContainer &originalParameters, ParameterContainer &transformedParameters) { transformedParameters.Parameter1 = transform(originalParameters.Parameter1); transformedParameters.Parameter2 = transform(originalParameters.Parameter2); transformedParameters.Parameter3 = transform(originalParameters.Parameter3); } template VTKM_CONT_EXPORT void DoStaticTransformCont( const Transform &transform, const ParameterContainer &originalParameters, ParameterContainer &transformedParameters) { transformedParameters.Parameter1 = transform(originalParameters.Parameter1); transformedParameters.Parameter2 = transform(originalParameters.Parameter2); transformedParameters.Parameter3 = transform(originalParameters.Parameter3); transformedParameters.Parameter4 = transform(originalParameters.Parameter4); } template VTKM_EXEC_EXPORT void DoStaticTransformExec( const Transform &transform, const ParameterContainer &originalParameters, ParameterContainer &transformedParameters) { transformedParameters.Parameter1 = transform(originalParameters.Parameter1); transformedParameters.Parameter2 = transform(originalParameters.Parameter2); transformedParameters.Parameter3 = transform(originalParameters.Parameter3); transformedParameters.Parameter4 = transform(originalParameters.Parameter4); } template VTKM_CONT_EXPORT void DoStaticTransformCont( const Transform &transform, const ParameterContainer &originalParameters, ParameterContainer &transformedParameters) { transformedParameters.Parameter1 = transform(originalParameters.Parameter1); transformedParameters.Parameter2 = transform(originalParameters.Parameter2); transformedParameters.Parameter3 = transform(originalParameters.Parameter3); transformedParameters.Parameter4 = transform(originalParameters.Parameter4); transformedParameters.Parameter5 = transform(originalParameters.Parameter5); } template VTKM_EXEC_EXPORT void DoStaticTransformExec( const Transform &transform, const ParameterContainer &originalParameters, ParameterContainer &transformedParameters) { transformedParameters.Parameter1 = transform(originalParameters.Parameter1); transformedParameters.Parameter2 = transform(originalParameters.Parameter2); transformedParameters.Parameter3 = transform(originalParameters.Parameter3); transformedParameters.Parameter4 = transform(originalParameters.Parameter4); transformedParameters.Parameter5 = transform(originalParameters.Parameter5); } template VTKM_CONT_EXPORT void DoStaticTransformCont( const Transform &transform, const ParameterContainer &originalParameters, ParameterContainer &transformedParameters) { transformedParameters.Parameter1 = transform(originalParameters.Parameter1); transformedParameters.Parameter2 = transform(originalParameters.Parameter2); transformedParameters.Parameter3 = transform(originalParameters.Parameter3); transformedParameters.Parameter4 = transform(originalParameters.Parameter4); transformedParameters.Parameter5 = transform(originalParameters.Parameter5); transformedParameters.Parameter6 = transform(originalParameters.Parameter6); } template VTKM_EXEC_EXPORT void DoStaticTransformExec( const Transform &transform, const ParameterContainer &originalParameters, ParameterContainer &transformedParameters) { transformedParameters.Parameter1 = transform(originalParameters.Parameter1); transformedParameters.Parameter2 = transform(originalParameters.Parameter2); transformedParameters.Parameter3 = transform(originalParameters.Parameter3); transformedParameters.Parameter4 = transform(originalParameters.Parameter4); transformedParameters.Parameter5 = transform(originalParameters.Parameter5); transformedParameters.Parameter6 = transform(originalParameters.Parameter6); } template VTKM_CONT_EXPORT void DoStaticTransformCont( const Transform &transform, const ParameterContainer &originalParameters, ParameterContainer &transformedParameters) { transformedParameters.Parameter1 = transform(originalParameters.Parameter1); transformedParameters.Parameter2 = transform(originalParameters.Parameter2); transformedParameters.Parameter3 = transform(originalParameters.Parameter3); transformedParameters.Parameter4 = transform(originalParameters.Parameter4); transformedParameters.Parameter5 = transform(originalParameters.Parameter5); transformedParameters.Parameter6 = transform(originalParameters.Parameter6); transformedParameters.Parameter7 = transform(originalParameters.Parameter7); } template VTKM_EXEC_EXPORT void DoStaticTransformExec( const Transform &transform, const ParameterContainer &originalParameters, ParameterContainer &transformedParameters) { transformedParameters.Parameter1 = transform(originalParameters.Parameter1); transformedParameters.Parameter2 = transform(originalParameters.Parameter2); transformedParameters.Parameter3 = transform(originalParameters.Parameter3); transformedParameters.Parameter4 = transform(originalParameters.Parameter4); transformedParameters.Parameter5 = transform(originalParameters.Parameter5); transformedParameters.Parameter6 = transform(originalParameters.Parameter6); transformedParameters.Parameter7 = transform(originalParameters.Parameter7); } template VTKM_CONT_EXPORT void DoStaticTransformCont( const Transform &transform, const ParameterContainer &originalParameters, ParameterContainer &transformedParameters) { transformedParameters.Parameter1 = transform(originalParameters.Parameter1); transformedParameters.Parameter2 = transform(originalParameters.Parameter2); transformedParameters.Parameter3 = transform(originalParameters.Parameter3); transformedParameters.Parameter4 = transform(originalParameters.Parameter4); transformedParameters.Parameter5 = transform(originalParameters.Parameter5); transformedParameters.Parameter6 = transform(originalParameters.Parameter6); transformedParameters.Parameter7 = transform(originalParameters.Parameter7); transformedParameters.Parameter8 = transform(originalParameters.Parameter8); } template VTKM_EXEC_EXPORT void DoStaticTransformExec( const Transform &transform, const ParameterContainer &originalParameters, ParameterContainer &transformedParameters) { transformedParameters.Parameter1 = transform(originalParameters.Parameter1); transformedParameters.Parameter2 = transform(originalParameters.Parameter2); transformedParameters.Parameter3 = transform(originalParameters.Parameter3); transformedParameters.Parameter4 = transform(originalParameters.Parameter4); transformedParameters.Parameter5 = transform(originalParameters.Parameter5); transformedParameters.Parameter6 = transform(originalParameters.Parameter6); transformedParameters.Parameter7 = transform(originalParameters.Parameter7); transformedParameters.Parameter8 = transform(originalParameters.Parameter8); } template VTKM_CONT_EXPORT void DoStaticTransformCont( const Transform &transform, const ParameterContainer &originalParameters, ParameterContainer &transformedParameters) { transformedParameters.Parameter1 = transform(originalParameters.Parameter1); transformedParameters.Parameter2 = transform(originalParameters.Parameter2); transformedParameters.Parameter3 = transform(originalParameters.Parameter3); transformedParameters.Parameter4 = transform(originalParameters.Parameter4); transformedParameters.Parameter5 = transform(originalParameters.Parameter5); transformedParameters.Parameter6 = transform(originalParameters.Parameter6); transformedParameters.Parameter7 = transform(originalParameters.Parameter7); transformedParameters.Parameter8 = transform(originalParameters.Parameter8); transformedParameters.Parameter9 = transform(originalParameters.Parameter9); } template VTKM_EXEC_EXPORT void DoStaticTransformExec( const Transform &transform, const ParameterContainer &originalParameters, ParameterContainer &transformedParameters) { transformedParameters.Parameter1 = transform(originalParameters.Parameter1); transformedParameters.Parameter2 = transform(originalParameters.Parameter2); transformedParameters.Parameter3 = transform(originalParameters.Parameter3); transformedParameters.Parameter4 = transform(originalParameters.Parameter4); transformedParameters.Parameter5 = transform(originalParameters.Parameter5); transformedParameters.Parameter6 = transform(originalParameters.Parameter6); transformedParameters.Parameter7 = transform(originalParameters.Parameter7); transformedParameters.Parameter8 = transform(originalParameters.Parameter8); transformedParameters.Parameter9 = transform(originalParameters.Parameter9); } //============================================================================ template VTKM_CONT_EXPORT void DoForEachCont( const Functor &f, const ParameterContainer ¶meters) { (void)f; (void)parameters; } template VTKM_CONT_EXPORT void DoForEachCont( const Functor &f, ParameterContainer ¶meters) { (void)f; (void)parameters; } template VTKM_EXEC_EXPORT void DoForEachExec( const Functor &f, const ParameterContainer ¶meters) { (void)f; (void)parameters; } template VTKM_EXEC_EXPORT void DoForEachExec( const Functor &f, ParameterContainer ¶meters) { (void)f; (void)parameters; } template VTKM_CONT_EXPORT void DoForEachCont( const Functor &f, const ParameterContainer ¶meters) { f(parameters.Parameter1); } template VTKM_CONT_EXPORT void DoForEachCont( const Functor &f, ParameterContainer ¶meters) { f(parameters.Parameter1); } template VTKM_EXEC_EXPORT void DoForEachExec( const Functor &f, const ParameterContainer ¶meters) { f(parameters.Parameter1); } template VTKM_EXEC_EXPORT void DoForEachExec( const Functor &f, ParameterContainer ¶meters) { f(parameters.Parameter1); } template VTKM_CONT_EXPORT void DoForEachCont( const Functor &f, const ParameterContainer ¶meters) { f(parameters.Parameter1); f(parameters.Parameter2); } template VTKM_CONT_EXPORT void DoForEachCont( const Functor &f, ParameterContainer ¶meters) { f(parameters.Parameter1); f(parameters.Parameter2); } template VTKM_EXEC_EXPORT void DoForEachExec( const Functor &f, const ParameterContainer ¶meters) { f(parameters.Parameter1); f(parameters.Parameter2); } template VTKM_EXEC_EXPORT void DoForEachExec( const Functor &f, ParameterContainer ¶meters) { f(parameters.Parameter1); f(parameters.Parameter2); } template VTKM_CONT_EXPORT void DoForEachCont( const Functor &f, const ParameterContainer ¶meters) { f(parameters.Parameter1); f(parameters.Parameter2); f(parameters.Parameter3); } template VTKM_CONT_EXPORT void DoForEachCont( const Functor &f, ParameterContainer ¶meters) { f(parameters.Parameter1); f(parameters.Parameter2); f(parameters.Parameter3); } template VTKM_EXEC_EXPORT void DoForEachExec( const Functor &f, const ParameterContainer ¶meters) { f(parameters.Parameter1); f(parameters.Parameter2); f(parameters.Parameter3); } template VTKM_EXEC_EXPORT void DoForEachExec( const Functor &f, ParameterContainer ¶meters) { f(parameters.Parameter1); f(parameters.Parameter2); f(parameters.Parameter3); } template VTKM_CONT_EXPORT void DoForEachCont( const Functor &f, const ParameterContainer ¶meters) { f(parameters.Parameter1); f(parameters.Parameter2); f(parameters.Parameter3); f(parameters.Parameter4); } template VTKM_CONT_EXPORT void DoForEachCont( const Functor &f, ParameterContainer ¶meters) { f(parameters.Parameter1); f(parameters.Parameter2); f(parameters.Parameter3); f(parameters.Parameter4); } template VTKM_EXEC_EXPORT void DoForEachExec( const Functor &f, const ParameterContainer ¶meters) { f(parameters.Parameter1); f(parameters.Parameter2); f(parameters.Parameter3); f(parameters.Parameter4); } template VTKM_EXEC_EXPORT void DoForEachExec( const Functor &f, ParameterContainer ¶meters) { f(parameters.Parameter1); f(parameters.Parameter2); f(parameters.Parameter3); f(parameters.Parameter4); } template VTKM_CONT_EXPORT void DoForEachCont( const Functor &f, const ParameterContainer ¶meters) { f(parameters.Parameter1); f(parameters.Parameter2); f(parameters.Parameter3); f(parameters.Parameter4); f(parameters.Parameter5); } template VTKM_CONT_EXPORT void DoForEachCont( const Functor &f, ParameterContainer ¶meters) { f(parameters.Parameter1); f(parameters.Parameter2); f(parameters.Parameter3); f(parameters.Parameter4); f(parameters.Parameter5); } template VTKM_EXEC_EXPORT void DoForEachExec( const Functor &f, const ParameterContainer ¶meters) { f(parameters.Parameter1); f(parameters.Parameter2); f(parameters.Parameter3); f(parameters.Parameter4); f(parameters.Parameter5); } template VTKM_EXEC_EXPORT void DoForEachExec( const Functor &f, ParameterContainer ¶meters) { f(parameters.Parameter1); f(parameters.Parameter2); f(parameters.Parameter3); f(parameters.Parameter4); f(parameters.Parameter5); } template VTKM_CONT_EXPORT void DoForEachCont( const Functor &f, const ParameterContainer ¶meters) { f(parameters.Parameter1); f(parameters.Parameter2); f(parameters.Parameter3); f(parameters.Parameter4); f(parameters.Parameter5); f(parameters.Parameter6); } template VTKM_CONT_EXPORT void DoForEachCont( const Functor &f, ParameterContainer ¶meters) { f(parameters.Parameter1); f(parameters.Parameter2); f(parameters.Parameter3); f(parameters.Parameter4); f(parameters.Parameter5); f(parameters.Parameter6); } template VTKM_EXEC_EXPORT void DoForEachExec( const Functor &f, const ParameterContainer ¶meters) { f(parameters.Parameter1); f(parameters.Parameter2); f(parameters.Parameter3); f(parameters.Parameter4); f(parameters.Parameter5); f(parameters.Parameter6); } template VTKM_EXEC_EXPORT void DoForEachExec( const Functor &f, ParameterContainer ¶meters) { f(parameters.Parameter1); f(parameters.Parameter2); f(parameters.Parameter3); f(parameters.Parameter4); f(parameters.Parameter5); f(parameters.Parameter6); } template VTKM_CONT_EXPORT void DoForEachCont( const Functor &f, const ParameterContainer ¶meters) { f(parameters.Parameter1); f(parameters.Parameter2); f(parameters.Parameter3); f(parameters.Parameter4); f(parameters.Parameter5); f(parameters.Parameter6); f(parameters.Parameter7); } template VTKM_CONT_EXPORT void DoForEachCont( const Functor &f, ParameterContainer ¶meters) { f(parameters.Parameter1); f(parameters.Parameter2); f(parameters.Parameter3); f(parameters.Parameter4); f(parameters.Parameter5); f(parameters.Parameter6); f(parameters.Parameter7); } template VTKM_EXEC_EXPORT void DoForEachExec( const Functor &f, const ParameterContainer ¶meters) { f(parameters.Parameter1); f(parameters.Parameter2); f(parameters.Parameter3); f(parameters.Parameter4); f(parameters.Parameter5); f(parameters.Parameter6); f(parameters.Parameter7); } template VTKM_EXEC_EXPORT void DoForEachExec( const Functor &f, ParameterContainer ¶meters) { f(parameters.Parameter1); f(parameters.Parameter2); f(parameters.Parameter3); f(parameters.Parameter4); f(parameters.Parameter5); f(parameters.Parameter6); f(parameters.Parameter7); } template VTKM_CONT_EXPORT void DoForEachCont( const Functor &f, const ParameterContainer ¶meters) { f(parameters.Parameter1); f(parameters.Parameter2); f(parameters.Parameter3); f(parameters.Parameter4); f(parameters.Parameter5); f(parameters.Parameter6); f(parameters.Parameter7); f(parameters.Parameter8); } template VTKM_CONT_EXPORT void DoForEachCont( const Functor &f, ParameterContainer ¶meters) { f(parameters.Parameter1); f(parameters.Parameter2); f(parameters.Parameter3); f(parameters.Parameter4); f(parameters.Parameter5); f(parameters.Parameter6); f(parameters.Parameter7); f(parameters.Parameter8); } template VTKM_EXEC_EXPORT void DoForEachExec( const Functor &f, const ParameterContainer ¶meters) { f(parameters.Parameter1); f(parameters.Parameter2); f(parameters.Parameter3); f(parameters.Parameter4); f(parameters.Parameter5); f(parameters.Parameter6); f(parameters.Parameter7); f(parameters.Parameter8); } template VTKM_EXEC_EXPORT void DoForEachExec( const Functor &f, ParameterContainer ¶meters) { f(parameters.Parameter1); f(parameters.Parameter2); f(parameters.Parameter3); f(parameters.Parameter4); f(parameters.Parameter5); f(parameters.Parameter6); f(parameters.Parameter7); f(parameters.Parameter8); } template VTKM_CONT_EXPORT void DoForEachCont( const Functor &f, const ParameterContainer ¶meters) { f(parameters.Parameter1); f(parameters.Parameter2); f(parameters.Parameter3); f(parameters.Parameter4); f(parameters.Parameter5); f(parameters.Parameter6); f(parameters.Parameter7); f(parameters.Parameter8); f(parameters.Parameter9); } template VTKM_CONT_EXPORT void DoForEachCont( const Functor &f, ParameterContainer ¶meters) { f(parameters.Parameter1); f(parameters.Parameter2); f(parameters.Parameter3); f(parameters.Parameter4); f(parameters.Parameter5); f(parameters.Parameter6); f(parameters.Parameter7); f(parameters.Parameter8); f(parameters.Parameter9); } template VTKM_EXEC_EXPORT void DoForEachExec( const Functor &f, const ParameterContainer ¶meters) { f(parameters.Parameter1); f(parameters.Parameter2); f(parameters.Parameter3); f(parameters.Parameter4); f(parameters.Parameter5); f(parameters.Parameter6); f(parameters.Parameter7); f(parameters.Parameter8); f(parameters.Parameter9); } template VTKM_EXEC_EXPORT void DoForEachExec( const Functor &f, ParameterContainer ¶meters) { f(parameters.Parameter1); f(parameters.Parameter2); f(parameters.Parameter3); f(parameters.Parameter4); f(parameters.Parameter5); f(parameters.Parameter6); f(parameters.Parameter7); f(parameters.Parameter8); f(parameters.Parameter9); } } // namespace detail } } // namespace vtkm::internal #endif //vtk_m_internal_FunctionInterfaceDetailPre_h