dispatch_table.h#
Per-(domain, op_type) dispatch table used by :cpp:func:onnx_optim::shapes::ShapesContext::ComputeShapeNode to forward each NodeProto to the matching ComputeShape* implementation.
-
namespace onnx_light
Alias that makes onnx-light headers compatible with code that references
ONNX_LIGHT_NAMESPACE(the macro used in the standard onnx package).Set to
ONNX_LIGHT_NAMESPACEso both names resolve to the same namespace.Symbol-visibility attribute for the public onnx-light C++ API.
Defined as empty because onnx-light does not require explicit
__declspec(dllexport)or__attribute__((visibility("default")))annotations — visibility is controlled at the shared-library level. The macro is provided so that vendored ONNX headers that decorate their declarations withONNX_APIcompile without modification.Namespace alias so that ONNX C++ code (and consumers such as onnxruntime) that refers to the literal
onnxnamespace — rather than theONNX_NAMESPACEmacro — resolves to the onnx-light namespace. The standard onnx package lives innamespace onnx; onnx-light usesonnx_light(via ONNX_LIGHT_NAMESPACE), so this alias keeps onnx-light a true drop-in. It is only introduced when the onnx-light namespace differs fromonnx.-
namespace onnx_optim
-
namespace shapes
Typedefs
-
using ComputeShapeFn = std::function<void(ShapesContext&, const NodeProto&)>#
Signature of every per-operator
ComputeShape*trampoline registered in :cpp:func:DispatchTable: it reads the node’s inputs fromctxand inserts the resulting output descriptors back intoctx.
Functions
-
const std::unordered_map<std::string, ComputeShapeFn> &DispatchTable()#
Returns the
(normalised_domain, op_type) -> ComputeShape*dispatch table. Constructed on first use and shared across calls.The dispatch key is the pair
(domain, op_type)encoded as"<domain>:<op_type>"; the empty default ONNX domain must be normalised tokOnnxDomainbefore lookup. Adding a new operator only requires inserting one new entry in the table.
-
using ComputeShapeFn = std::function<void(ShapesContext&, const NodeProto&)>#
-
namespace shapes
-
namespace onnx_optim