Struct EarlierIds
pub struct EarlierIds { /* private fields */ }Expand description
For each app, the ids it was published under before.
Implementations§
§impl EarlierIds
impl EarlierIds
pub fn new() -> EarlierIds
pub fn insert<I, S>(&mut self, app: &str, before: I)
pub fn insert<I, S>(&mut self, app: &str, before: I)
Record that app was published as each of before earlier. Its own id and an id another
app already claimed are left out: an earlier id has one successor.
pub fn is_empty(&self) -> bool
pub fn of(&self, app: &str) -> &[String]
pub fn of(&self, app: &str) -> &[String]
The ids app was published under before; none for an app never renamed.
pub fn records_under<'a>(&'a self, app: &'a str) -> &'a str
pub fn records_under<'a>(&'a self, app: &'a str) -> &'a str
The id whose record and channel app keeps using (<workspace>#app:<id>): its earliest id,
the first it lists, else its own. A renamed app opens the record it had, wherever and
under whatever it was written; nothing is copied to a record of its new id.
pub fn successor(&self, old: &str) -> Option<&str>
pub fn successor(&self, old: &str) -> Option<&str>
The app now published as old was before, when it was renamed.
pub fn current<'a>(&'a self, id: &'a str) -> &'a str
pub fn current<'a>(&'a self, id: &'a str) -> &'a str
The app id names now: its successor when it is an earlier id, else itself.
pub fn current_resource(&self, resource: &str) -> Option<String>
pub fn current_resource(&self, resource: &str) -> Option<String>
The published id resource (tl:<app>:<id>, tl:<app>) under its app’s id now, when it
was written under an id the app had before; None for any other.
pub fn names(&self, id: &str, app: &str) -> bool
pub fn names(&self, id: &str, app: &str) -> bool
Whether id names app: it is app’s id or one it had before.
pub fn earlier_nodes(&self, node: &TreePath) -> Vec<TreePath>
pub fn earlier_nodes(&self, node: &TreePath) -> Vec<TreePath>
The same node as it was written under each id its app had before: the app segment, and a
tl.<app>.… kind of that app, under the earlier id. Empty when the node’s app was never
renamed.
pub fn covers(&self, pattern: &TreePath, node: &TreePath) -> bool
pub fn covers(&self, pattern: &TreePath, node: &TreePath) -> bool
Whether the grant node pattern covers node, or node as it was written under an id its
app had before.
pub fn subject_matches(&self, granted: &Subject, subjects: &[Subject]) -> bool
pub fn subject_matches(&self, granted: &Subject, subjects: &[Subject]) -> bool
Whether a grant to granted speaks for one of subjects: the same subject, or the app
granted names was renamed to an app among them.
Trait Implementations§
§impl Clone for EarlierIds
impl Clone for EarlierIds
§fn clone(&self) -> EarlierIds
fn clone(&self) -> EarlierIds
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more§impl Debug for EarlierIds
impl Debug for EarlierIds
§impl Default for EarlierIds
impl Default for EarlierIds
§fn default() -> EarlierIds
fn default() -> EarlierIds
§impl PartialEq for EarlierIds
impl PartialEq for EarlierIds
impl Eq for EarlierIds
impl StructuralPartialEq for EarlierIds
Auto Trait Implementations§
impl Freeze for EarlierIds
impl RefUnwindSafe for EarlierIds
impl Send for EarlierIds
impl Sync for EarlierIds
impl Unpin for EarlierIds
impl UnsafeUnpin for EarlierIds
impl UnwindSafe for EarlierIds
Blanket Implementations§
§impl<T> AnyEq for T
impl<T> AnyEq for T
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<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>
Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>. Box<dyn Any> can
then be further downcast into Box<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>
Rc<Trait> (where Trait: Downcast) to Rc<Any>. Rc<Any> 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)
&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)
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s.§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>
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>
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)
&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)
&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<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
key and return true if they are equal.§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<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 more