file_utils.h#
Helpers in this header cover path-based protobuf loading utilities for the C++
API, including onnx_light::LoadProtoFromPath().
-
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.Functions
-
template<typename T>
void LoadProtoFromPath(const std::string &proto_path, T &proto)# Loads a serialized protobuf message from a filesystem path.
Opens the file at
proto_pathin binary mode, reads its full contents, and parses them intoprotowith ParseProtoFromBytes().- Template Parameters:
T – Protobuf-like message type accepted by ParseProtoFromBytes().
- Parameters:
proto_path – UTF-8 path to the serialized protobuf file.
proto – Destination message that receives the parsed file contents.
- Throws:
std::runtime_error – Throws when the file cannot be opened, cannot be read, or cannot be parsed as the requested protobuf type.
-
template<typename T>