pub struct MdTableAttr(/* private fields */);Expand description
The module level table of metadata node definitions. A node is referred to, from anywhere in the module, by its index in this table.
Printed as [#0 = !{...}, #1 = distinct !{...}].
Implementations§
Source§impl MdTableAttr
impl MdTableAttr
Sourcepub fn push(&mut self, node: MdNodeAttr) -> MdNodeId
pub fn push(&mut self, node: MdNodeAttr) -> MdNodeId
Add node to the table and get the MdNodeId it can be referred to by.
Sourcepub fn push_uniqued(&mut self, node: MdNodeAttr) -> MdNodeId
pub fn push_uniqued(&mut self, node: MdNodeAttr) -> MdNodeId
Add node to the table, unless it is a non-distinct node that is structurally
equal to one already in the table, and get the MdNodeId to refer to it by.
Sourcepub fn reserve(&mut self) -> MdNodeId
pub fn reserve(&mut self) -> MdNodeId
Reserve an id for a node whose operands aren’t known yet, so that the node (or a node it refers to) can refer back to it. Must be followed by Self::set for the same id.
Sourcepub fn set(&mut self, id: MdNodeId, node: MdNodeAttr)
pub fn set(&mut self, id: MdNodeId, node: MdNodeAttr)
Set the node at id, which must already be in the table.
Sourcepub fn get(&self, id: MdNodeId) -> Option<&MdNodeAttr>
pub fn get(&self, id: MdNodeId) -> Option<&MdNodeAttr>
The node at id, if there is one.
Sourcepub fn iter(&self) -> impl Iterator<Item = (MdNodeId, &MdNodeAttr)>
pub fn iter(&self) -> impl Iterator<Item = (MdNodeId, &MdNodeAttr)>
Iterate over (id, node) pairs.
Trait Implementations§
Source§impl Attribute for MdTableAttr
impl Attribute for MdTableAttr
Source§fn hash_attr(&self) -> TypeValueHash
fn hash_attr(&self) -> TypeValueHash
Compute and get the hash for this instance of Self.
Hash collisions can be a possibility.
Source§fn get_attr_id(&self) -> AttrId
fn get_attr_id(&self) -> AttrId
Get an [Attribute]’s static name. This is not per instantnce.
It is mostly useful for printing and parsing the attribute.
Source§fn get_attr_id_static() -> AttrId
fn get_attr_id_static() -> AttrId
Same as get_attr_id, but without the self reference.
Source§impl Clone for MdTableAttr
impl Clone for MdTableAttr
Source§fn clone(&self) -> MdTableAttr
fn clone(&self) -> MdTableAttr
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for MdTableAttr
impl Debug for MdTableAttr
Source§impl Default for MdTableAttr
impl Default for MdTableAttr
Source§fn default() -> MdTableAttr
fn default() -> MdTableAttr
Returns the “default value” for a type. Read more
impl Eq for MdTableAttr
Source§impl Hash for MdTableAttr
impl Hash for MdTableAttr
impl OutlinedAttr for MdTableAttr
Source§impl Parsable for MdTableAttr
impl Parsable for MdTableAttr
Source§type Parsed = MdTableAttr
type Parsed = MdTableAttr
The type of the parsed entity.
Source§fn parse<'a>(
state_stream: &mut StateStream<'a>,
_arg: Self::Arg,
) -> ParseResult<'a, Self::Parsed>
fn parse<'a>( state_stream: &mut StateStream<'a>, _arg: Self::Arg, ) -> ParseResult<'a, Self::Parsed>
Define a parser using existing combinators and call
into on [Parser::parse_stream] to get the final [ParseResult].
Use state_stream.state as necessary.Source§impl PartialEq for MdTableAttr
impl PartialEq for MdTableAttr
Source§fn eq(&self, other: &MdTableAttr) -> bool
fn eq(&self, other: &MdTableAttr) -> bool
Tests for
self and other values to be equal, and is used by ==.Source§impl Printable for MdTableAttr
impl Printable for MdTableAttr
impl StructuralPartialEq for MdTableAttr
Auto Trait Implementations§
impl !RefUnwindSafe for MdTableAttr
impl !UnwindSafe for MdTableAttr
impl Freeze for MdTableAttr
impl Send for MdTableAttr
impl Sync for MdTableAttr
impl Unpin for MdTableAttr
impl UnsafeUnpin for MdTableAttr
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Converts
Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>, which can then be
downcast into Box<dyn ConcreteType> where ConcreteType implements Trait.§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Converts
Rc<Trait> (where Trait: Downcast) to Rc<Any>, which can then be further
downcast into Rc<ConcreteType> where ConcreteType implements Trait.§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
Converts
&Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s.§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
Converts
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s.§impl<T> DowncastSend for T
impl<T> DowncastSend for T
§impl<T> DowncastSync for T
impl<T> DowncastSync for T
§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
Compare self to
key and return true if they are equal.