Struct aterm::ATermInner
[−]
[src]
pub struct ATermInner<ATerm, B, S> { pub term: Term<ATerm, B, S>, pub annotations: Box<[ATerm]>, }
The annotated term. This only combines the term with the annotations.
Fields
term: Term<ATerm, B, S>
The actual term.
annotations: Box<[ATerm]>
The annotations on the term. The spec says this is an ATerm list of pairs of ATerms. We extend this to a general list of aterms so we can support more systems (e.g. Stratego/XT).
Methods
impl<ATerm, B, S> ATermInner<ATerm, B, S>
[src]
fn no_annos(term: Term<ATerm, B, S>) -> Self
fn with_annos<A>(term: Term<ATerm, B, S>, annos: A) -> Self where
A: IntoIterator<Item = ATerm>,
A: IntoIterator<Item = ATerm>,
Trait Implementations
impl<ATerm: Debug, B: Debug, S: Debug> Debug for ATermInner<ATerm, B, S>
[src]
impl<ATerm: PartialEq, B: PartialEq, S: PartialEq> PartialEq for ATermInner<ATerm, B, S>
[src]
fn eq(&self, __arg_0: &ATermInner<ATerm, B, S>) -> bool
This method tests for self
and other
values to be equal, and is used by ==
. Read more
fn ne(&self, __arg_0: &ATermInner<ATerm, B, S>) -> bool
This method tests for !=
.
impl<ATerm: Eq, B: Eq, S: Eq> Eq for ATermInner<ATerm, B, S>
[src]
impl<ATerm: Clone, B: Clone, S: Clone> Clone for ATermInner<ATerm, B, S>
[src]
fn clone(&self) -> ATermInner<ATerm, B, S>
Returns a copy of the value. Read more
fn clone_from(&mut self, source: &Self)
1.0.0
Performs copy-assignment from source
. Read more
impl<ATerm: Hash, B: Hash, S: Hash> Hash for ATermInner<ATerm, B, S>
[src]
fn hash<__HATermBS: Hasher>(&self, __arg_0: &mut __HATermBS)
Feeds this value into the given [Hasher
]. Read more
fn hash_slice<H>(data: &[Self], state: &mut H) where
H: Hasher,
1.3.0
H: Hasher,
Feeds a slice of this type into the given [Hasher
]. Read more
impl<Rec, B, S> ATerm for ATermInner<Rec, B, S> where
Rec: Borrow<ATermInner<Rec, B, S>>,
S: Cons,
[src]
Rec: Borrow<ATermInner<Rec, B, S>>,
S: Cons,
type Rec = Rec
Basically the current type, but you may want to add something extra, so this is more flexible. Read more
type Blob = B
The extension point to add more variants to terms.
type Cons = S
The type of the constructor to use
fn into_inner(self) -> ATermInner<Rec, B, S>
fn as_inner(&self) -> &ATermInner<Self::Rec, Self::Blob, Self::Cons>
fn get_int(&self) -> Option<i32>
fn get_long(&self) -> Option<i64>
fn get_real(&self) -> Option<f32>
fn get_application(&self) -> Option<(&Self::Cons, &[Self::Rec])>
fn get_list(&self) -> Option<&[Self::Rec]>
fn get_placeholder(&self) -> Option<&TermPlaceholder<Self::Rec>>
fn get_blob(&self) -> Option<&Self::Blob>
fn get_string(&self) -> Option<String>
fn get_tuple(&self) -> Option<&[Self::Rec]>
impl<ATerm, B, S> Display for ATermInner<ATerm, B, S> where
ATerm: ATermWrite,
B: ATermWrite,
S: Display,
[src]
ATerm: ATermWrite,
B: ATermWrite,
S: Display,
impl<Rec, B, S> ATermWrite for ATermInner<Rec, B, S> where
Rec: ATermWrite,
B: ATermWrite,
S: Display,
[src]
Rec: ATermWrite,
B: ATermWrite,
S: Display,