Struct aterm::rc::shared::ATermFactory
[−]
[src]
pub struct ATermFactory<'s, B: Hash + Eq> { pub arena: RefCell<HashSet<Rc<ATerm<'s, B>>>>, // some fields omitted }
Fields
arena: RefCell<HashSet<Rc<ATerm<'s, B>>>>
Methods
impl<'t, 's: 't, B: Hash + Eq> ATermFactory<'s, B>
[src]
fn new() -> Self
fn with_capacity(capacity: usize) -> Self
Trait Implementations
impl<'s, B: Default + Hash + Eq> Default for ATermFactory<'s, B>
[src]
fn default() -> ATermFactory<'s, B>
Returns the "default value" for a type. Read more
impl<'s, B: Debug + Hash + Eq> Debug for ATermFactory<'s, B>
[src]
impl<'s, B: Clone + Hash + Eq> ATermFactory<B, &'s str> for ATermFactory<'s, B>
[src]
type ATerm = ATerm<'s, B>
The ATerm
the factory builds
type ATermRef = Rc<ATerm<'s, B>>
The reference to an ATerm
that's returned. You usually want these to be cheaply cloneable!
fn no_annos(&self, term: Term<Rc<ATerm<'s, B>>, B, &'s str>) -> Self::ATermRef
fn with_annos<A>(
&self,
term: Term<Rc<ATerm<'s, B>>, B, &'s str>,
annos: A
) -> Self::ATermRef where
A: IntoIterator<Item = Self::ATermRef>,
&self,
term: Term<Rc<ATerm<'s, B>>, B, &'s str>,
annos: A
) -> Self::ATermRef where
A: IntoIterator<Item = Self::ATermRef>,
fn t_string(&self, value: &'s str) -> Term<Self::ATermRef, B, &'s str>
The string variant in ATerms is represented as an application with zero children!
fn t_tuple<I>(&self, children: I) -> Term<Self::ATermRef, B, &'s str> where
I: IntoIterator<Item = Self::ATermRef>,
I: IntoIterator<Item = Self::ATermRef>,
The tuple in ATerms is represented as an application with an empty constructor string!
fn int(&self, value: i32) -> Self::ATermRef
fn string(&self, value: S) -> Self::ATermRef
The string variant in ATerms is represented as an application with zero children!
fn tuple<I>(&self, children: I) -> Self::ATermRef where
I: IntoIterator<Item = Self::ATermRef>,
I: IntoIterator<Item = Self::ATermRef>,
The tuple in ATerms is represented as an application with an empty constructor string!
fn real(&self, value: f32) -> Self::ATermRef
fn application<I>(&self, constructor: S, children: I) -> Self::ATermRef where
I: IntoIterator<Item = Self::ATermRef>,
I: IntoIterator<Item = Self::ATermRef>,
fn list<I>(&self, value: I) -> Self::ATermRef where
I: IntoIterator<Item = Self::ATermRef>,
I: IntoIterator<Item = Self::ATermRef>,
fn placeholder(&self, value: TermPlaceholder<Self::ATermRef>) -> Self::ATermRef
fn blob(&self, value: B) -> Self::ATermRef
fn long(&self, value: i64) -> Self::ATermRef
fn t_int(&self, value: i32) -> Term<Self::ATermRef, B, S>
fn t_real(&self, value: f32) -> Term<Self::ATermRef, B, S>
fn t_application<I>(
&self,
constructor: S,
children: I
) -> Term<Self::ATermRef, B, S> where
I: IntoIterator<Item = Self::ATermRef>,
&self,
constructor: S,
children: I
) -> Term<Self::ATermRef, B, S> where
I: IntoIterator<Item = Self::ATermRef>,
fn t_list<I>(&self, value: I) -> Term<Self::ATermRef, B, S> where
I: IntoIterator<Item = Self::ATermRef>,
I: IntoIterator<Item = Self::ATermRef>,
fn t_placeholder(
&self,
value: TermPlaceholder<Self::ATermRef>
) -> Term<Self::ATermRef, B, S>
&self,
value: TermPlaceholder<Self::ATermRef>
) -> Term<Self::ATermRef, B, S>