7#ifndef PXR_EXEC_VDF_ERROR_H
8#define PXR_EXEC_VDF_ERROR_H
12#include "pxr/exec/vdf/api.h"
15PXR_NAMESPACE_OPEN_SCOPE
19struct Vdf_ErrorHelper :
public Tf_DiagnosticHelper {
20 Vdf_ErrorHelper(TfCallContext
const &context,
22 Tf_DiagnosticHelper(context, type) {}
24 void FatalError(
const VdfNode &node, std::string
const &msg)
const;
26 void FatalError(
const VdfNode &node,
char const *fmt, ...) const
35#define VDF_FATAL_ERROR \
36 Vdf_ErrorHelper(TF_CALL_CONTEXT).FatalError
43#define VDF_AXIOM(node, cond) \
45 if (ARCH_UNLIKELY(!(cond))) \
46 Vdf_ErrorHelper(TF_CALL_CONTEXT). \
47 FatalError(node, "Failed axiom: ' %s '", #cond); \
50PXR_NAMESPACE_CLOSE_SCOPE
#define ARCH_PRINTF_FUNCTION(_fmt, _firstArg)
Macro used to indicate a function takes a printf-like specification.
Low-level utilities for informing users of various internal and external diagnostic conditions.
This is the base class for all nodes in a VdfNetwork.
TfDiagnosticType
Enum describing various diagnostic conditions.