simple_sequence.h#

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_NAMESPACE so both names resolve to the same namespace.

Symbol-visibility attribute for the public onnx-light C++ API.

Maps the upstream compatibility macro to onnx-light’s explicit proto ABI annotation. This keeps declarations from vendored ONNX headers visible when lib_onnx_proto uses hidden visibility by default.

Namespace alias so that ONNX C++ code (and consumers such as onnxruntime) that refers to the literal onnx namespace — rather than the ONNX_NAMESPACE macro — resolves to the onnx-light namespace. The standard onnx package lives in namespace onnx; onnx-light uses onnx_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 from onnx.

namespace core
namespace runtime
struct Sequence#
#include <simple_sequence.h>

Sequence — minimal runtime tensor sequence used by backend test cases and reference kernel implementations.

Companion to :cpp:struct:Tensor: where Tensor carries a single tensor value, Sequence carries an ordered list of tensors that share a common element type. Sequence is intentionally separate from TensorProto / SequenceProto and from :cpp:class:core::symbolic::SymSequence: it is the runtime value of a sequence-typed graph edge (analogous to Tensor being the runtime value of a tensor-typed edge), without any protobuf dependency.

The struct owns its underlying Tensor elements: copying or destroying the Sequence copies or destroys its elements too.

Public Functions

Sequence() = default#
inline Sequence(std::string n, int32_t et, Tensors v)#
inline std::size_t size() const noexcept#

Number of tensors in the sequence.

inline bool empty() const noexcept#

true when the sequence contains no tensors.

inline const Tensor &at(std::size_t i) const#

Random access to the i-th tensor; throws std::out_of_range if i is out of bounds.

inline Tensor &at(std::size_t i)#

Public Members

std::string name#

Optional name of the sequence (input/output name in the test model). May be left empty for intermediate values.

int32_t elem_type = 0#

Element data type shared by every tensor stored in values, expressed as a DataType integer value. Equals DataType::UNDEFINED (0) when values is empty and the element type cannot be inferred.

Tensors values#

Tensor elements of the sequence, in order. All elements must share elem_type; element shapes may differ between elements.

class Sequences : public std::vector<Sequence>#
#include <simple_sequence.h>

Sequences — thin wrapper deriving from std::vector<Sequence>.

Companion to :cpp:class:Tensors: provides converting constructors from std::vector<Sequence> for interoperability while allowing future Sequence-list-specific behavior to be added in one place.

Public Functions

Sequences() = default#
inline Sequences(const std::vector<Sequence> &values)#
inline Sequences(std::vector<Sequence> &&values)#