pub struct Declaration { /* private fields */ }
Implementations§
Source§impl Declaration
impl Declaration
Sourcepub fn new(name: Name, kind: DeclarationKind) -> Declaration
pub fn new(name: Name, kind: DeclarationKind) -> Declaration
Creates a new declaration.
Sourcepub fn new_var(name: Name, domain: Domain) -> Declaration
pub fn new_var(name: Name, domain: Domain) -> Declaration
Creates a new decision variable declaration.
Sourcepub fn new_domain_letting(name: Name, domain: Domain) -> Declaration
pub fn new_domain_letting(name: Name, domain: Domain) -> Declaration
Creates a new domain letting declaration.
Sourcepub fn new_value_letting(name: Name, value: Expression) -> Declaration
pub fn new_value_letting(name: Name, value: Expression) -> Declaration
Creates a new value letting declaration.
Sourcepub fn new_given(name: Name, domain: Domain) -> Declaration
pub fn new_given(name: Name, domain: Domain) -> Declaration
Creates a new given declaration.
Sourcepub fn kind(&self) -> &DeclarationKind
pub fn kind(&self) -> &DeclarationKind
The kind of this declaration.
Sourcepub fn as_var(&self) -> Option<&DecisionVariable>
pub fn as_var(&self) -> Option<&DecisionVariable>
This declaration as a decision variable, if it is one.
Sourcepub fn as_var_mut(&mut self) -> Option<&mut DecisionVariable>
pub fn as_var_mut(&mut self) -> Option<&mut DecisionVariable>
This declaration as a mutable decision variable, if it is one.
Sourcepub fn as_domain_letting(&self) -> Option<&Domain>
pub fn as_domain_letting(&self) -> Option<&Domain>
This declaration as a domain letting, if it is one.
Sourcepub fn as_domain_letting_mut(&mut self) -> Option<&mut Domain>
pub fn as_domain_letting_mut(&mut self) -> Option<&mut Domain>
This declaration as a mutable domain letting, if it is one.
Sourcepub fn as_value_letting(&self) -> Option<&Expression>
pub fn as_value_letting(&self) -> Option<&Expression>
This declaration as a value letting, if it is one.
Sourcepub fn as_value_letting_mut(&mut self) -> Option<&mut Expression>
pub fn as_value_letting_mut(&mut self) -> Option<&mut Expression>
This declaration as a mutable value letting, if it is one.
Sourcepub fn with_new_name(self, name: Name) -> Declaration
pub fn with_new_name(self, name: Name) -> Declaration
Returns a clone of this declaration with a new name.
Trait Implementations§
Source§impl Biplate<Declaration> for Declaration
impl Biplate<Declaration> for Declaration
Source§fn biplate(
&self,
) -> (Tree<Declaration>, Box<dyn Fn(Tree<Declaration>) -> Declaration>)
fn biplate( &self, ) -> (Tree<Declaration>, Box<dyn Fn(Tree<Declaration>) -> Declaration>)
§fn with_children_bi(&self, children: VecDeque<To>) -> Self
fn with_children_bi(&self, children: VecDeque<To>) -> Self
§fn descend_bi(&self, op: Arc<dyn Fn(To) -> To>) -> Self
fn descend_bi(&self, op: Arc<dyn Fn(To) -> To>) -> Self
Uniplate::descend
] Read more§fn universe_bi(&self) -> VecDeque<To>
fn universe_bi(&self) -> VecDeque<To>
§fn children_bi(&self) -> VecDeque<To>
fn children_bi(&self) -> VecDeque<To>
§fn transform_bi(&self, op: Arc<dyn Fn(To) -> To>) -> Self
fn transform_bi(&self, op: Arc<dyn Fn(To) -> To>) -> Self
Source§impl Biplate<Declaration> for DeclarationKind
impl Biplate<Declaration> for DeclarationKind
Source§fn biplate(&self) -> (Tree<Declaration>, Box<dyn Fn(Tree<Declaration>) -> Self>)
fn biplate(&self) -> (Tree<Declaration>, Box<dyn Fn(Tree<Declaration>) -> Self>)
§fn with_children_bi(&self, children: VecDeque<To>) -> Self
fn with_children_bi(&self, children: VecDeque<To>) -> Self
§fn descend_bi(&self, op: Arc<dyn Fn(To) -> To>) -> Self
fn descend_bi(&self, op: Arc<dyn Fn(To) -> To>) -> Self
Uniplate::descend
] Read more§fn universe_bi(&self) -> VecDeque<To>
fn universe_bi(&self) -> VecDeque<To>
§fn children_bi(&self) -> VecDeque<To>
fn children_bi(&self) -> VecDeque<To>
§fn transform_bi(&self, op: Arc<dyn Fn(To) -> To>) -> Self
fn transform_bi(&self, op: Arc<dyn Fn(To) -> To>) -> Self
Source§impl Biplate<Expression> for Declaration
impl Biplate<Expression> for Declaration
Source§fn biplate(
&self,
) -> (Tree<Expression>, Box<dyn Fn(Tree<Expression>) -> Declaration>)
fn biplate( &self, ) -> (Tree<Expression>, Box<dyn Fn(Tree<Expression>) -> Declaration>)
§fn with_children_bi(&self, children: VecDeque<To>) -> Self
fn with_children_bi(&self, children: VecDeque<To>) -> Self
§fn descend_bi(&self, op: Arc<dyn Fn(To) -> To>) -> Self
fn descend_bi(&self, op: Arc<dyn Fn(To) -> To>) -> Self
Uniplate::descend
] Read more§fn universe_bi(&self) -> VecDeque<To>
fn universe_bi(&self) -> VecDeque<To>
§fn children_bi(&self) -> VecDeque<To>
fn children_bi(&self) -> VecDeque<To>
§fn transform_bi(&self, op: Arc<dyn Fn(To) -> To>) -> Self
fn transform_bi(&self, op: Arc<dyn Fn(To) -> To>) -> Self
Source§impl Clone for Declaration
impl Clone for Declaration
Source§impl Debug for Declaration
impl Debug for Declaration
Source§impl DefaultWithId for Declaration
impl DefaultWithId for Declaration
Source§fn default_with_id(id: ObjId) -> Self
fn default_with_id(id: ObjId) -> Self
T
, but with the given id.Source§impl<'de> Deserialize<'de> for Declaration
impl<'de> Deserialize<'de> for Declaration
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Source§impl PartialEq for Declaration
impl PartialEq for Declaration
Source§impl Serialize for Declaration
impl Serialize for Declaration
Source§impl Typeable for Declaration
impl Typeable for Declaration
fn return_type(&self) -> Option<ReturnType>
Source§impl Uniplate for Declaration
impl Uniplate for Declaration
Source§fn uniplate(
&self,
) -> (Tree<Declaration>, Box<dyn Fn(Tree<Declaration>) -> Declaration>)
fn uniplate( &self, ) -> (Tree<Declaration>, Box<dyn Fn(Tree<Declaration>) -> Declaration>)
Uniplate
. Read more§fn descend(&self, op: Arc<dyn Fn(Self) -> Self>) -> Self
fn descend(&self, op: Arc<dyn Fn(Self) -> Self>) -> Self
§fn universe(&self) -> VecDeque<Self>
fn universe(&self) -> VecDeque<Self>
§fn with_children(&self, children: VecDeque<Self>) -> Self
fn with_children(&self, children: VecDeque<Self>) -> Self
§fn transform(&self, f: Arc<dyn Fn(Self) -> Self>) -> Self
fn transform(&self, f: Arc<dyn Fn(Self) -> Self>) -> Self
§fn rewrite(&self, f: Arc<dyn Fn(Self) -> Option<Self>>) -> Self
fn rewrite(&self, f: Arc<dyn Fn(Self) -> Option<Self>>) -> Self
§fn cata<T>(&self, op: Arc<dyn Fn(Self, VecDeque<T>) -> T>) -> T
fn cata<T>(&self, op: Arc<dyn Fn(Self, VecDeque<T>) -> T>) -> T
impl Eq for Declaration
Auto Trait Implementations§
impl Freeze for Declaration
impl !RefUnwindSafe for Declaration
impl !Send for Declaration
impl !Sync for Declaration
impl Unpin for Declaration
impl !UnwindSafe for Declaration
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key
and return true
if they are equal.§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self
into a Left
variant of Either<Self, Self>
if into_left
is true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self
into a Left
variant of Either<Self, Self>
if into_left(&self)
returns true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moreSource§impl<T> Serialize for T
impl<T> Serialize for T
fn erased_serialize(&self, serializer: &mut dyn Serializer) -> Result<(), Error>
fn do_erased_serialize( &self, serializer: &mut dyn Serializer, ) -> Result<(), ErrorImpl>
§impl<T> WithSubscriber for T
impl<T> WithSubscriber for T
§fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where
S: Into<Dispatch>,
fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where
S: Into<Dispatch>,
§fn with_current_subscriber(self) -> WithDispatch<Self>
fn with_current_subscriber(self) -> WithDispatch<Self>
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
Layout§
Note: Most layout information is completely unstable and may even differ between compilations. The only exception is types with certain repr(...)
attributes. Please see the Rust Reference's “Type Layout” chapter for details on type layout guarantees.
Size: 136 bytes