Trait altrios_core::traits::SerdeAPI

source ·
pub trait SerdeAPI: Serialize + for<'a> Deserialize<'a> {
    const ACCEPTED_BYTE_FORMATS: &'static [&'static str] = _;
    const ACCEPTED_STR_FORMATS: &'static [&'static str] = _;

    // Provided methods
    fn init(&mut self) -> Result<()> { ... }
    fn to_file<P: AsRef<Path>>(&self, filepath: P) -> Result<()> { ... }
    fn from_file<P: AsRef<Path>>(filepath: P) -> Result<Self> { ... }
    fn to_str(&self, format: &str) -> Result<String> { ... }
    fn from_str<S: AsRef<str>>(contents: S, format: &str) -> Result<Self> { ... }
    fn from_reader<R>(rdr: R, format: &str) -> Result<Self>
       where R: Read { ... }
    fn to_json(&self) -> Result<String> { ... }
    fn from_json<S: AsRef<str>>(json_str: S) -> Result<Self> { ... }
    fn to_yaml(&self) -> Result<String> { ... }
    fn from_yaml<S: AsRef<str>>(yaml_str: S) -> Result<Self> { ... }
    fn to_bincode(&self) -> Result<Vec<u8>> { ... }
    fn from_bincode(encoded: &[u8]) -> Result<Self> { ... }
}

Provided Associated Constants§

source

const ACCEPTED_BYTE_FORMATS: &'static [&'static str] = _

source

const ACCEPTED_STR_FORMATS: &'static [&'static str] = _

Provided Methods§

source

fn init(&mut self) -> Result<()>

Specialized code to execute upon initialization

source

fn to_file<P: AsRef<Path>>(&self, filepath: P) -> Result<()>

Write (serialize) an object to a file. Supported file extensions are listed in ACCEPTED_BYTE_FORMATS. Creates a new file if it does not already exist, otherwise truncates the existing file.

§Arguments
  • filepath - The filepath at which to write the object
source

fn from_file<P: AsRef<Path>>(filepath: P) -> Result<Self>

Read (deserialize) an object from a file. Supported file extensions are listed in ACCEPTED_BYTE_FORMATS.

§Arguments:
  • filepath: The filepath from which to read the object
source

fn to_str(&self, format: &str) -> Result<String>

Write (serialize) an object into a string

§Arguments:
source

fn from_str<S: AsRef<str>>(contents: S, format: &str) -> Result<Self>

Read (deserialize) an object from a string

§Arguments:
  • contents - The string containing the object data
  • format - The source format, any of those listed in ACCEPTED_STR_FORMATS
source

fn from_reader<R>(rdr: R, format: &str) -> Result<Self>
where R: Read,

Deserialize an object from anything that implements std::io::Read

§Arguments:
  • rdr - The reader from which to read object data
  • format - The source format, any of those listed in ACCEPTED_BYTE_FORMATS
source

fn to_json(&self) -> Result<String>

Write (serialize) an object to a JSON string

source

fn from_json<S: AsRef<str>>(json_str: S) -> Result<Self>

Read (deserialize) an object to a JSON string

§Arguments
  • json_str - JSON-formatted string to deserialize from
source

fn to_yaml(&self) -> Result<String>

Write (serialize) an object to a YAML string

source

fn from_yaml<S: AsRef<str>>(yaml_str: S) -> Result<Self>

Read (deserialize) an object from a YAML string

§Arguments
  • yaml_str - YAML-formatted string to deserialize from
source

fn to_bincode(&self) -> Result<Vec<u8>>

Write (serialize) an object to bincode-encoded bytes

source

fn from_bincode(encoded: &[u8]) -> Result<Self>

Read (deserialize) an object from bincode-encoded bytes

§Arguments
  • encoded - Encoded bytes to deserialize from

Object Safety§

This trait is not object safe.

Implementations on Foreign Types§

source§

impl<T: SerdeAPI> SerdeAPI for Vec<T>

source§

fn init(&mut self) -> Result<()>

Implementors§

source§

impl SerdeAPI for PowerDistributionControlType

source§

impl SerdeAPI for PowertrainType

source§

impl SerdeAPI for EstType

source§

impl SerdeAPI for CompareType

source§

impl SerdeAPI for LimitType

source§

impl SerdeAPI for TrainType

source§

impl SerdeAPI for TrainRes

source§

impl SerdeAPI for Consist

source§

impl SerdeAPI for ConsistState

source§

impl SerdeAPI for ConsistStateHistoryVec

source§

impl SerdeAPI for ConsistSimulation

source§

impl SerdeAPI for FrontAndBack

source§

impl SerdeAPI for GoldenSectionSearch

source§

impl SerdeAPI for Proportional

source§

impl SerdeAPI for Pyo3VecLocoWrapper

source§

impl SerdeAPI for RESGreedy

source§

impl SerdeAPI for BatteryElectricLoco

source§

impl SerdeAPI for ConventionalLoco

source§

impl SerdeAPI for HybridLoco

source§

impl SerdeAPI for LocomotiveSimulation

source§

impl SerdeAPI for LocomotiveSimulationVec

source§

impl SerdeAPI for PowerTrace

source§

impl SerdeAPI for PowerTraceElement

source§

impl SerdeAPI for DummyLoco

source§

impl SerdeAPI for LocoParams

source§

impl SerdeAPI for Locomotive

source§

impl SerdeAPI for LocomotiveState

source§

impl SerdeAPI for LocomotiveStateHistoryVec

source§

impl SerdeAPI for ElectricDrivetrain

source§

impl SerdeAPI for ElectricDrivetrainState

source§

impl SerdeAPI for ElectricDrivetrainStateHistoryVec

source§

impl SerdeAPI for FuelConverter

source§

impl SerdeAPI for FuelConverterState

source§

impl SerdeAPI for FuelConverterStateHistoryVec

source§

impl SerdeAPI for Generator

source§

impl SerdeAPI for GeneratorState

source§

impl SerdeAPI for GeneratorStateHistoryVec

source§

impl SerdeAPI for ReversibleEnergyStorage

source§

impl SerdeAPI for ReversibleEnergyStorageState

source§

impl SerdeAPI for ReversibleEnergyStorageStateHistoryVec

source§

impl SerdeAPI for DispAuth

source§

impl SerdeAPI for DispNode

source§

impl SerdeAPI for DivergeNode

source§

impl SerdeAPI for EstTimeStatus

source§

impl SerdeAPI for LinkEvent

source§

impl SerdeAPI for TrainIdxsView

source§

impl SerdeAPI for EstTime

source§

impl SerdeAPI for EstTimeNet

source§

impl SerdeAPI for TrainDisp

source§

impl SerdeAPI for CatPowerLimit

source§

impl SerdeAPI for Elev

source§

impl SerdeAPI for Heading

source§

impl SerdeAPI for LinkIdx

source§

impl SerdeAPI for LinkPath

source§

impl SerdeAPI for LinkPoint

source§

impl SerdeAPI for Location

source§

impl SerdeAPI for Network

source§

impl SerdeAPI for NetworkOld

source§

impl SerdeAPI for OldSpeedSet

source§

impl SerdeAPI for PathResCoeff

source§

impl SerdeAPI for PathTpc

source§

impl SerdeAPI for SpeedLimit

source§

impl SerdeAPI for SpeedParam

source§

impl SerdeAPI for SpeedSet

source§

impl SerdeAPI for TrainParams

source§

impl SerdeAPI for altrios_core::train::kind::aerodynamic::Basic

source§

impl SerdeAPI for altrios_core::train::kind::bearing::Basic

source§

impl SerdeAPI for altrios_core::train::kind::davis_b::Basic

source§

impl SerdeAPI for altrios_core::train::kind::path_res::Point

source§

impl SerdeAPI for altrios_core::train::kind::path_res::Strap

source§

impl SerdeAPI for altrios_core::train::kind::rolling::Basic

source§

impl SerdeAPI for altrios_core::train::method::point::Point

source§

impl SerdeAPI for altrios_core::train::method::strap::Strap

source§

impl SerdeAPI for InitTrainState

source§

impl SerdeAPI for InitTrainStateHistoryVec

source§

impl SerdeAPI for LinkIdxTime

source§

impl SerdeAPI for RailVehicle

source§

impl SerdeAPI for SetSpeedTrainSim

source§

impl SerdeAPI for SpeedLimitTrainSim

source§

impl SerdeAPI for SpeedLimitTrainSimVec

source§

impl SerdeAPI for SpeedTrace

source§

impl SerdeAPI for SpeedTraceElement

source§

impl SerdeAPI for TimedLinkPath

source§

impl SerdeAPI for TrainConfig

source§

impl SerdeAPI for TrainSimBuilder

source§

impl SerdeAPI for TrainState

source§

impl SerdeAPI for TrainStateHistoryVec

source§

impl SerdeAPI for Pyo3Vec2Wrapper

source§

impl SerdeAPI for Pyo3Vec3Wrapper

source§

impl SerdeAPI for Pyo3VecBoolWrapper

source§

impl SerdeAPI for Pyo3VecWrapper

source§

impl<T> SerdeAPI for ValRange<T>
where T: Serialize + for<'a> Deserialize<'a>,