Struct swipl::engine::Engine

source ·
pub struct Engine { /* private fields */ }
Expand description

A Prolog engine.

Prolog engines can be active or inactive. When activated, an EngineActivation is returned, which when dropped will set the engine back into an inactive state.

Implementations§

source§

impl Engine

source

pub fn new() -> Engine

Create a new prolog engine.

If SWI-Prolog has not been initialized yet, it’ll be done here.

source

pub fn with_state(state: &'static [u8]) -> Engine

Create a new prolog engine with a saved state. SWI-Prolog must not have been initialized already to do so.

source

pub fn some_engine_active() -> bool

Returns true if some engine is currently active on this thread.

source

pub fn is_active(&self) -> bool

Returns true if this engine is the engine currently active on this thread.

source

pub fn activate(&self) -> EngineActivation<'_>

Activate this engine.

This will panic if an engine is already active on this thread. Otherwise, it’ll return an EngineActivation whose lifetime is bound to this engine.

Trait Implementations§

source§

impl Debug for Engine

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for Engine

source§

fn default() -> Self

Returns the “default value” for a type. Read more
source§

impl Drop for Engine

source§

fn drop(&mut self)

Executes the destructor for this type. Read more
source§

impl Send for Engine

source§

impl Sync for Engine

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T, U> Into<U> for T
where U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.