17 #ifndef __APEX_COMPATIBILITYMAP_H__
18 #define __APEX_COMPATIBILITYMAP_H__
70 bool load(
const char *filepath);
84 const char *
version =
nullptr)
const;
91 class CompatibilityResolver;
97 template <
typename NodeTypeT>
101 const NodeTypeT &nodetype)
const;
154 CompatibilityResolver(
157 const APEX_FunctionBase &callback,
158 const APEX_CompatibilityMap &map,
161 CompatibilityResolver(
164 const APEX_Graph &subgraph,
165 const APEX_CompatibilityMap &map,
177 bool myIsValid =
true;
191 template <
typename NodeTypeT>
196 const NodeTypeT &nodetype)
const
198 return UTmakeUnique<CompatibilityResolver>(
199 name,
version, nodetype, *
this, CompatibilityResolver::PassKey());
206 APEX_CompatibilityMap::CompatibilityResolver::inputIndex(
exint old_index)
const
209 UT_ASSERT(old_index >= 0 && old_index < myInputMap.size());
210 return myInputMap[old_index];
214 APEX_CompatibilityMap::CompatibilityResolver::inputIndex(
217 const exint old_index = myOldSig.findInputIndex(old_name);
218 return inputIndex(old_index);
222 APEX_CompatibilityMap::CompatibilityResolver::inputName(
exint old_index)
const
224 const exint new_index = inputIndex(old_index);
225 return myNewSig.myInputs[new_index].name();
229 APEX_CompatibilityMap::CompatibilityResolver::inputName(
232 const exint new_index = inputIndex(old_name);
233 return myNewSig.myInputs[new_index].name();
237 APEX_CompatibilityMap::CompatibilityResolver::outputIndex(
238 exint old_index)
const
241 UT_ASSERT(old_index >= 0 && old_index < myOutputMap.size());
242 return myOutputMap[old_index];
246 APEX_CompatibilityMap::CompatibilityResolver::outputIndex(
249 const exint old_index = myOldSig.findOutputIndex(old_name);
250 return outputIndex(old_index);
254 APEX_CompatibilityMap::CompatibilityResolver::outputName(
exint old_index)
const
256 const exint new_index = outputIndex(old_index);
257 return myNewSig.myOutputs[new_index].name();
261 APEX_CompatibilityMap::CompatibilityResolver::outputName(
264 const exint new_index = outputIndex(old_name);
265 return myNewSig.myOutputs[new_index].name();
270 #endif //__APEX_COMPATIBILITYMAP_H__
UT_UniquePtr< CompatibilityResolver > createCompatibilityResolver(const UT_StringRef &name, const UT_StringRef &version, const NodeTypeT &nodetype) const
const APEX_Signature & oldSignature() const
std::unique_ptr< T, Deleter > UT_UniquePtr
A smart pointer for unique ownership of dynamically allocated objects.
const UT_StringHolder & oldName() const
GLuint const GLchar * name
UT_ErrorManager & errorManager()
Returns the error manager.
GT_API const UT_StringHolder version
A global error manager scope.
const APEX_Signature & newSignature() const
const UT_StringHolder & newName() const