pub trait Namespace<T>
where T: HasName,
{ // Required methods fn has_members(&self) -> bool; fn member_count(&self) -> usize; fn contains_member(&self, name: &Identifier) -> bool; fn member(&self, name: &Identifier) -> Option<&T>; fn members(&self) -> Box<dyn Iterator<Item = &T> + '_>; fn members_mut(&mut self) -> Box<dyn Iterator<Item = &mut T> + '_>; fn member_names(&self) -> Box<dyn Iterator<Item = &Identifier> + '_>; fn add_to_members(&mut self, value: T) -> Option<T>; fn extend_members<I>(&mut self, extension: I) where I: IntoIterator<Item = T>; }

Required Methods§

source

fn has_members(&self) -> bool

Returns true of the namespace contains any members, else false.

source

fn member_count(&self) -> usize

Returns the number of members in the namespace.

source

fn contains_member(&self, name: &Identifier) -> bool

Returns true if the namespace contains a member named name, else false.

source

fn member(&self, name: &Identifier) -> Option<&T>

Return the member with the name name, if present.

source

fn members(&self) -> Box<dyn Iterator<Item = &T> + '_>

Returns an iterator over all members in the namespace.

source

fn members_mut(&mut self) -> Box<dyn Iterator<Item = &mut T> + '_>

Returns an iterator over mutable members in the namespace.

source

fn member_names(&self) -> Box<dyn Iterator<Item = &Identifier> + '_>

Returns an iterator over the names of namespace members.

source

fn add_to_members(&mut self, value: T) -> Option<T>

Add a member to the namespace. If a member already existed with the same name it will be returned.

source

fn extend_members<I>(&mut self, extension: I)
where I: IntoIterator<Item = T>,

Add the members of the extension to the namespace. Any existing members with the same names will be replaced.

Object Safety§

This trait is not object safe.

Implementors§