Enum aterm::Term [] [src]

pub enum Term<Rec, Blob, S> {
    Int(i32),
    Long(i64),
    Real(BrokenF32),
    Application(S, Box<[Rec]>),
    List(Box<[Rec]>),
    Placeholder(TermPlaceholder<Rec>),
    Blob(Blob),
}

The basic term type, without annotations

Variants

An 32bit signed integer

A 64bit signed integer. This is an optional component in the spec, but it's easy to support.

An 32bit floating point number, but with a broken equality so a coherent implementation of Hash could be given (if NaN != NaN, then what Hash should it get?). You shouldn't directly check equality of floating point numbers anyways because of rounding.

The main thing: Application of a constructor, using a string for the constructor name.

A list of ATerms.

A placeholder for pattern matching. Only here for compatibility with the spec, use Rust's pattern matching facilities instead!

A Binary Large OBject. Here used to embed any other type. Note it will need to implement some traits if you still want to parse or print it.

Trait Implementations

impl<Rec: Debug, Blob: Debug, S: Debug> Debug for Term<Rec, Blob, S>
[src]

Formats the value using the given formatter.

impl<Rec: PartialEq, Blob: PartialEq, S: PartialEq> PartialEq for Term<Rec, Blob, S>
[src]

This method tests for self and other values to be equal, and is used by ==. Read more

This method tests for !=.

impl<Rec: Eq, Blob: Eq, S: Eq> Eq for Term<Rec, Blob, S>
[src]

impl<Rec: Clone, Blob: Clone, S: Clone> Clone for Term<Rec, Blob, S>
[src]

Returns a copy of the value. Read more

Performs copy-assignment from source. Read more

impl<Rec: Hash, Blob: Hash, S: Hash> Hash for Term<Rec, Blob, S>
[src]

Feeds this value into the given [Hasher]. Read more

Feeds a slice of this type into the given [Hasher]. Read more

impl<Rec, B, S> Display for Term<Rec, B, S> where
    Rec: ATermWrite,
    B: ATermWrite,
    S: Display
[src]

Formats the value using the given formatter. Read more

impl<Rec, B, S> ATermWrite for Term<Rec, B, S> where
    Rec: ATermWrite,
    B: ATermWrite,
    S: Display
[src]