Trait tract_hir::prelude::Framework

source ·
pub trait Framework<ProtoModel, Model>: Send + Sync
where ProtoModel: Debug,
{ // Required methods fn proto_model_for_read( &self, reader: &mut dyn Read ) -> Result<ProtoModel, Error>; fn model_for_proto_model_with_symbols( &self, proto: &ProtoModel, symbols: &SymbolTable ) -> Result<Model, Error>; // Provided methods fn model_for_proto_model(&self, proto: &ProtoModel) -> Result<Model, Error> { ... } fn proto_model_for_path( &self, p: impl AsRef<Path> ) -> Result<ProtoModel, Error> { ... } fn model_for_read(&self, r: &mut dyn Read) -> Result<Model, Error> { ... } fn model_for_path(&self, p: impl AsRef<Path>) -> Result<Model, Error> { ... } }
Expand description

A Framework that translate its model to tract core model.

The ProtoModel is the parsed representation of the imported model. It does not have to be Protobuf based.

Required Methods§

source

fn proto_model_for_read( &self, reader: &mut dyn Read ) -> Result<ProtoModel, Error>

Parse a proto model from a reader.

source

fn model_for_proto_model_with_symbols( &self, proto: &ProtoModel, symbols: &SymbolTable ) -> Result<Model, Error>

Translate a proto model into a model, with some symbols already listed.

Provided Methods§

source

fn model_for_proto_model(&self, proto: &ProtoModel) -> Result<Model, Error>

Translate a proto model into a model.

source

fn proto_model_for_path(&self, p: impl AsRef<Path>) -> Result<ProtoModel, Error>

Read a proto model from a filename.

source

fn model_for_read(&self, r: &mut dyn Read) -> Result<Model, Error>

Read a model from a reader

source

fn model_for_path(&self, p: impl AsRef<Path>) -> Result<Model, Error>

Build a model from a filename.

Object Safety§

This trait is not object safe.

Implementors§