pub struct RootAccessTrie { /* private fields */ }
Available on crate feature
entity-manifest
only.Expand description
A RootAccessTrie
is a trie describing a set of
data paths to retrieve. Each edge in the trie
is either a record or entity dereference.
If an entity or record field does not exist in the backing store, it is safe to stop loading data at that point.
T
represents an optional type annotation on each
node in the AccessTrie
.
This feature is experimental. For more information see https://github.com/cedar-policy/rfcs/blob/main/README.md#experimental-features
Implementations§
Source§impl RootAccessTrie
impl RootAccessTrie
Sourcepub fn trie(&self) -> &HashMap<EntityRoot, AccessTrie>
pub fn trie(&self) -> &HashMap<EntityRoot, AccessTrie>
Get the trie as a hash map from EntityRoot
to sub-AccessTrie
s.
Source§impl RootAccessTrie
impl RootAccessTrie
Sourcepub fn new() -> RootAccessTrie
pub fn new() -> RootAccessTrie
Create an empty RootAccessTrie
that requests nothing.
Source§impl RootAccessTrie
impl RootAccessTrie
Sourcepub fn union(self, other: &RootAccessTrie) -> RootAccessTrie
pub fn union(self, other: &RootAccessTrie) -> RootAccessTrie
Union two RootAccessTrie
s together.
The new trie requests the data from both of the original.
Sourcepub fn union_mut(&mut self, other: &RootAccessTrie)
pub fn union_mut(&mut self, other: &RootAccessTrie)
Like RootAccessTrie::union
, but modifies the current trie.
Trait Implementations§
Source§impl Clone for RootAccessTrie
impl Clone for RootAccessTrie
Source§fn clone(&self) -> RootAccessTrie
fn clone(&self) -> RootAccessTrie
Returns a copy of the value. Read more
1.0.0 · 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 RootAccessTrie
impl Debug for RootAccessTrie
Source§impl Default for RootAccessTrie
impl Default for RootAccessTrie
Source§fn default() -> RootAccessTrie
fn default() -> RootAccessTrie
Returns the “default value” for a type. Read more
Source§impl<'de> Deserialize<'de> for RootAccessTrie
impl<'de> Deserialize<'de> for RootAccessTrie
Source§fn deserialize<__D>(
__deserializer: __D,
) -> Result<RootAccessTrie, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(
__deserializer: __D,
) -> Result<RootAccessTrie, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Source§impl PartialEq for RootAccessTrie
impl PartialEq for RootAccessTrie
Source§impl Serialize for RootAccessTrie
impl Serialize for RootAccessTrie
Source§fn serialize<__S>(
&self,
__serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
fn serialize<__S>(
&self,
__serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
Serialize this value into the given Serde serializer. Read more
impl Eq for RootAccessTrie
impl StructuralPartialEq for RootAccessTrie
Auto Trait Implementations§
impl Freeze for RootAccessTrie
impl RefUnwindSafe for RootAccessTrie
impl Send for RootAccessTrie
impl Sync for RootAccessTrie
impl Unpin for RootAccessTrie
impl UnwindSafe for RootAccessTrie
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,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key
and return true
if they are equal.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>
Converts
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>
Converts
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