pub struct Arena { /* private fields */ }Implementations§
Source§impl<'arena> Arena
impl<'arena> Arena
pub fn new(interner: Arc<Mutex<Interner>>) -> Self
pub fn new_with_global_interner() -> Self
pub fn intern(&'arena self, name: &str) -> u32
pub fn lookup_opt(&'arena self, name: &str) -> Option<u32>
pub fn name(&'arena self, name: &str) -> Const<'arena>
pub fn variable(&'arena self, name: &str) -> &'arena BaseTerm<'arena>
pub fn const_(&'arena self, c: Const<'arena>) -> &'arena BaseTerm<'arena>
pub fn atom( &'arena self, p: PredicateIndex, args: &[&'arena BaseTerm<'arena>], ) -> &'arena Atom<'arena>
pub fn apply_fn( &'arena self, fun: FunctionIndex, args: &[&'arena BaseTerm<'arena>], ) -> &'arena BaseTerm<'arena>
pub fn alloc<T>(&self, x: T) -> &mut T
pub fn alloc_slice_copy<T: Copy>(&self, x: &[T]) -> &[T]
pub fn alloc_str(&'arena self, s: &str) -> &'arena str
pub fn new_query(&'arena self, p: PredicateIndex) -> Atom<'arena>
Sourcepub fn lookup_name(&self, name_index: u32) -> Option<&'static str>
pub fn lookup_name(&self, name_index: u32) -> Option<&'static str>
Given a name index, returns the name.
Sourcepub fn lookup_name_index(&self, name: &str) -> Option<u32>
pub fn lookup_name_index(&self, name: &str) -> Option<u32>
Given a name, returns the index of the name if it exists in the interner.
Sourcepub fn predicate_name(
&self,
predicate_index: PredicateIndex,
) -> Option<&'static str>
pub fn predicate_name( &self, predicate_index: PredicateIndex, ) -> Option<&'static str>
Given predicate index, returns name of predicate symbol.
Sourcepub fn predicate_arity(&self, predicate_index: PredicateIndex) -> Option<u8>
pub fn predicate_arity(&self, predicate_index: PredicateIndex) -> Option<u8>
Given predicate index, returns arity of predicate symbol.
Sourcepub fn function_name(
&self,
function_index: FunctionIndex,
) -> Option<&'static str>
pub fn function_name( &self, function_index: FunctionIndex, ) -> Option<&'static str>
Given function index, returns name of function symbol.
Sourcepub fn lookup_predicate_sym(
&'arena self,
predicate_name: u32,
) -> Option<PredicateIndex>
pub fn lookup_predicate_sym( &'arena self, predicate_name: u32, ) -> Option<PredicateIndex>
Returns index for this predicate symbol.
Sourcepub fn variable_sym(&'arena self, name: &str) -> VariableIndex
pub fn variable_sym(&'arena self, name: &str) -> VariableIndex
Constructs a new variable symbol.
pub fn function_sym( &'arena self, name: &str, arity: Option<u8>, ) -> FunctionIndex
pub fn predicate_sym( &'arena self, name: &str, arity: Option<u8>, ) -> PredicateIndex
pub fn copy_function_sym<'src>( &'arena self, src: &'src Arena, f: FunctionIndex, ) -> FunctionIndex
pub fn copy_predicate_sym<'src>( &'arena self, src: &'src Arena, p: PredicateIndex, ) -> PredicateIndex
pub fn copy_atom<'src>( &'arena self, src: &'src Arena, atom: &'src Atom<'src>, ) -> &'arena Atom<'arena>
pub fn copy_base_term<'src>( &'arena self, src: &'src Arena, b: &'src BaseTerm<'src>, ) -> &'arena BaseTerm<'arena>
pub fn copy_const<'src>( &'arena self, src: &'src Arena, c: &'src Const<'src>, ) -> &'arena Const<'arena>
pub fn copy_transform<'src>( &'arena self, src: &'src Arena, stmt: &'src TransformStmt<'src>, ) -> &'arena TransformStmt<'arena>
pub fn copy_clause<'src>( &'arena self, src: &'src Arena, src_clause: &'src Clause<'src>, ) -> &'arena Clause<'arena>
Auto Trait Implementations§
impl !Freeze for Arena
impl !RefUnwindSafe for Arena
impl Send for Arena
impl !Sync for Arena
impl Unpin for Arena
impl UnsafeUnpin for Arena
impl !UnwindSafe for Arena
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more