[][src]Trait sophia_term::factory::TermFactory

pub trait TermFactory {
    type TermData: TermData + for<'x> From<&'x str>;
    fn get_term_data<T>(&mut self, txt: T) -> Self::TermData
    where
        T: TermData + Into<Self::TermData>
;
fn shrink_to_fit(&mut self); fn iri<T>(&mut self, iri: T) -> Result<FTerm<Self>>
    where
        T: TermData + Into<Self::TermData>
, { ... }
fn iri2<T, U>(&mut self, ns: T, suffix: U) -> Result<FTerm<Self>>
    where
        T: TermData + Into<Self::TermData>,
        U: TermData + Into<Self::TermData>
, { ... }
fn bnode<T>(&mut self, id: T) -> Result<FTerm<Self>>
    where
        T: TermData + Into<Self::TermData>
, { ... }
fn literal_lang<T, U>(&mut self, txt: T, lang: U) -> Result<FTerm<Self>>
    where
        T: TermData + Into<Self::TermData>,
        U: TermData + Into<Self::TermData>
, { ... }
fn literal_dt<T, U>(&mut self, txt: T, dt: Term<U>) -> Result<FTerm<Self>>
    where
        T: TermData + Into<Self::TermData>,
        U: TermData + Into<Self::TermData>
, { ... }
fn variable<T>(&mut self, name: T) -> Result<FTerm<Self>>
    where
        T: TermData + Into<Self::TermData>
, { ... }
fn convert_term<T>(&mut self, other: Term<T>) -> FTerm<Self>
    where
        T: TermData + Into<Self::TermData>
, { ... }
fn clone_term<T: ?Sized>(&mut self, other: &T) -> FTerm<Self>
    where
        T: TTerm
, { ... } }

A factory for terms.

Implementors may cache terms or data to save memory or accelerate creation.

Associated Types

type TermData: TermData + for<'x> From<&'x str>

Data used by terms created by the factory.

Loading content...

Required methods

fn get_term_data<T>(&mut self, txt: T) -> Self::TermData where
    T: TermData + Into<Self::TermData>, 

Get a TermData equal to txt.

Mostly used internally to create new terms.

fn shrink_to_fit(&mut self)

Release memory that the factory no longer uses.

Loading content...

Provided methods

fn iri<T>(&mut self, iri: T) -> Result<FTerm<Self>> where
    T: TermData + Into<Self::TermData>, 

Get a new IRI without suffix.

fn iri2<T, U>(&mut self, ns: T, suffix: U) -> Result<FTerm<Self>> where
    T: TermData + Into<Self::TermData>,
    U: TermData + Into<Self::TermData>, 

Get a new suffixed IRI.

fn bnode<T>(&mut self, id: T) -> Result<FTerm<Self>> where
    T: TermData + Into<Self::TermData>, 

Get a new blank node.

fn literal_lang<T, U>(&mut self, txt: T, lang: U) -> Result<FTerm<Self>> where
    T: TermData + Into<Self::TermData>,
    U: TermData + Into<Self::TermData>, 

Get a new language-tagged literal.

fn literal_dt<T, U>(&mut self, txt: T, dt: Term<U>) -> Result<FTerm<Self>> where
    T: TermData + Into<Self::TermData>,
    U: TermData + Into<Self::TermData>, 

Get a new typed literal.

fn variable<T>(&mut self, name: T) -> Result<FTerm<Self>> where
    T: TermData + Into<Self::TermData>, 

Get a new variable.

fn convert_term<T>(&mut self, other: Term<T>) -> FTerm<Self> where
    T: TermData + Into<Self::TermData>, 

Convert a term, using TermData from this factory.

fn clone_term<T: ?Sized>(&mut self, other: &T) -> FTerm<Self> where
    T: TTerm

Clone a term, using TermData from this factory.

Loading content...

Implementors

impl TermFactory for ArcTermFactory[src]

type TermData = Arc<str>

impl TermFactory for RcTermFactory[src]

type TermData = Rc<str>

Loading content...