[][src]Struct aces::CEStructure

pub struct CEStructure { /* fields omitted */ }

A single c-e structure.

Internally, instances of this type own structural information (the cause and effect polynomials), the intermediate content representation from which a c-e structure originated (optionally), and some auxiliary recomputable data. Other properties are available indirectly: CEStructure instance owns a ContextHandle which resolves to a shared Context object.

Methods

impl CEStructure[src]

pub fn new(ctx: &ContextHandle, origin: Rc<dyn ContentFormat>) -> Self[src]

Creates an empty c-e structure in a Context given by a ContextHandle.

See also a specialized variant of this method, new_interactive().

pub fn new_interactive(ctx: &ContextHandle) -> Self[src]

Creates an empty c-e structure in a Context given by a ContextHandle, and sets content origin to InteractiveFormat.

This is a specialized variant of the new() method.

pub fn add_causes<'a, I>(
    &mut self,
    node_id: NodeID,
    poly_ids: I
) -> Result<(), AcesError> where
    I: IntoIterator + 'a,
    I::Item: IntoIterator<Item = &'a NodeID>, 
[src]

Constructs new Polynomial from a sequence of sequences of NodeIDs and adds it to causes of a node of this CEStructure.

This method is incremental: new polynomial is added to old polynomial that is already attached to the node_id as node's causes (there is always some polynomial attached, if not explicitly, then implicitly, as the default θ).

pub fn add_effects<'a, I>(
    &mut self,
    node_id: NodeID,
    poly_ids: I
) -> Result<(), AcesError> where
    I: IntoIterator + 'a,
    I::Item: IntoIterator<Item = &'a NodeID>, 
[src]

Constructs new Polynomial from a sequence of sequences of NodeIDs and adds it to effects of a node of this CEStructure.

This method is incremental: new polynomial is added to old polynomial that is already attached to the node_id as node's effects (there is always some polynomial attached, if not explicitly, then implicitly, as the default θ).

pub fn add_from_content(
    &mut self,
    content: Box<dyn Content>
) -> Result<(), Box<dyn Error>>
[src]

Extends this c-e structure with another one, which is created in the Context of the old c-e structure from a given Content trait object.

pub fn with_content(
    self,
    content: Box<dyn Content>
) -> Result<Self, Box<dyn Error>>
[src]

Extends this c-e structure with another one, which is created in the Context of the old c-e structure from a given Content trait object.

pub fn add_from_str<S: AsRef<str>>(
    &mut self,
    script: S,
    formats: &[Rc<dyn ContentFormat>]
) -> Result<Rc<dyn ContentFormat>, Box<dyn Error>>
[src]

Extends this c-e structure with another one, which is created in the Context of the old c-e structure from a given textual description.

The script is interpreted according to an appropriate format of content description listed in the formats array.

On success, returns the chosen format as a ContentFormat trait object.

pub fn add_from_str_as_origin<S: AsRef<str>>(
    &mut self,
    script: S,
    formats: &[Rc<dyn ContentFormat>]
) -> Result<(), Box<dyn Error>>
[src]

Extends this c-e structure with another one, which is created in the Context of the old c-e structure from a given textual description.

The script is interpreted according to an appropriate format of content description listed in the formats array.

On success, stores the chosen format as the new content origin.

pub fn from_str<S: AsRef<str>>(
    ctx: &ContextHandle,
    script: S,
    formats: &[Rc<dyn ContentFormat>]
) -> Result<Self, Box<dyn Error>>
[src]

Creates a new c-e structure from a textual description, in a Context given by a ContextHandle.

pub fn add_from_file<P: AsRef<Path>>(
    &mut self,
    path: P,
    formats: &[Rc<dyn ContentFormat>]
) -> Result<Rc<dyn ContentFormat>, Box<dyn Error>>
[src]

Extends this c-e structure with another one, which is created in the Context of the old c-e structure from a script file to be found along the path.

The script file is interpreted according to an appropriate format of content description listed in the formats array.

On success, returns the chosen format as a ContentFormat trait object.

pub fn add_from_file_as_origin<P: AsRef<Path>>(
    &mut self,
    path: P,
    formats: &[Rc<dyn ContentFormat>]
) -> Result<(), Box<dyn Error>>
[src]

Extends this c-e structure with another one, which is created in the Context of the old c-e structure from a script file to be found along the path.

The script file is interpreted according to an appropriate format of content description listed in the formats array.

On success, stores the chosen format as the new content origin.

pub fn from_file<P: AsRef<Path>>(
    ctx: &ContextHandle,
    path: P,
    formats: &[Rc<dyn ContentFormat>]
) -> Result<Self, Box<dyn Error>>
[src]

Creates a new c-e structure from a script file to be found along the path, in a Context given by a ContextHandle.

pub fn get_context(&self) -> &ContextHandle[src]

pub fn get_name(&self) -> Option<&str>[src]

pub fn is_coherent(&self) -> bool[src]

Returns link coherence status indicating whether this object represents a proper c-e structure.

C-e structure is coherent iff it has no thin links, where a link is thin iff it occurs either in causes or in effects, but not in both. Internally, there is a thin links counter associated with each CEStructure object. This counter is updated whenever a polynomial is added to the structure.

pub fn get_fork_join_formula(&self) -> Result<Formula, Box<dyn Error>>[src]

pub fn get_formula(&self) -> Result<Formula, Box<dyn Error>>[src]

pub fn solve(&mut self) -> Result<(), Box<dyn Error>>[src]

pub fn get_firing_set(&self) -> Option<&FiringSet>[src]

Trait Implementations

impl Debug for CEStructure[src]

Auto Trait Implementations

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<Reference, Outer, OuterFieldType, Inner> HasPart<Nested<Outer, Inner>> for Reference where
    Inner: Part,
    Outer: Part<PartType = Field<OuterFieldType>>,
    OuterFieldType: HasPart<Inner, RawTarget = OuterFieldType> + PartialRefTarget + ?Sized,
    Reference: HasPart<Outer> + ?Sized

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

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<V, T> VZip<V> for T where
    V: MultiLane<T>,