[][src]Struct mech_program::program::Program

pub struct Program {
    pub name: String,
    pub mech: Core,
    pub cores: HashMap<u64, Core>,
    pub input_map: HashMap<Register, HashSet<u64>>,
    pub machines: HashMap<String, Library>,
    pub machine_registry: HashMap<String, (String, String)>,
    pub incoming: Receiver<RunLoopMessage>,
    pub outgoing: Sender<RunLoopMessage>,
    pub errors: Vec<Error>,
    pub listeners: HashSet<Register>,
    // some fields omitted
}

Fields

name: Stringmech: Corecores: HashMap<u64, Core>input_map: HashMap<Register, HashSet<u64>>machines: HashMap<String, Library>machine_registry: HashMap<String, (String, String)>incoming: Receiver<RunLoopMessage>outgoing: Sender<RunLoopMessage>errors: Vec<Error>listeners: HashSet<Register>

Methods

impl Program[src]

pub fn new(
    name: &str,
    capacity: usize,
    outgoing: Sender<RunLoopMessage>,
    incoming: Receiver<RunLoopMessage>
) -> Program
[src]

pub fn compile_program(&mut self, input: String)[src]

pub fn compile_fragment(&mut self, input: String)[src]

pub fn download_dependencies(
    &mut self,
    outgoing: Option<Sender<ClientMessage>>
) -> Result<(), Box<dyn Error>>
[src]

pub fn clear(&mut self)[src]

Auto Trait Implementations

impl !RefUnwindSafe for Program

impl !Send for Program

impl !Sync for Program

impl Unpin for Program

impl !UnwindSafe for Program

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> Same<T> for T

type Output = T

Should always be Self

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 

type Err = <U as TryFrom<T>>::Err

impl<V, T> VZip<V> for T where
    V: MultiLane<T>,