Used internally by the C++ API. C++ wrapper types inherit from this. This is a zero cost abstraction to wrap the C API objects and delete them on destruction
This struct owns the OrtKernInfo* pointer when a copy is made. For convenient wrapping of OrtKernelInfo* passed to kernel constructor and query attributes, warp the pointer with Ort::Unowned<KernelInfo> instance so it does not destroy the pointer the kernel does not own
The Status that holds ownership of OrtStatus received from C API Use it to safely destroy OrtStatus* returned from the C API. Use appropriate constructors to construct an instance of a Status object from exceptions
Covers unowned pointers owned by either the ORT or some other instance of CPP wrappers. Used for ConstXXX and UnownedXXXX types that are copyable. Also convenient to wrap raw OrtXX pointers
This class wraps a raw pointer OrtKernelContext* that is being passed to the custom kernel Compute() method. Use it to safely access context attributes, input and output parameters with exception safety guarantees. See usage example in onnxruntime/test/testdata/custom_op_library/custom_op_library.cc
Represents native memory allocation coming from one of the OrtAllocators registered with OnnxRuntime. Use it to wrap an allocation made by an allocator so it can be automatically released when no longer needed