Struct dock_runtime::trust_registry::types::TrustRegistryIdSet
source · pub struct TrustRegistryIdSet<T>(pub BoundedBTreeSet<TrustRegistryId, <T as Limits>::MaxConvenerRegistries>)
where
T: Limits;
Tuple Fields§
§0: BoundedBTreeSet<TrustRegistryId, <T as Limits>::MaxConvenerRegistries>
Methods from Deref<Target = BoundedBTreeSet<TrustRegistryId, <T as Limits>::MaxConvenerRegistries>>§
pub fn clear(&mut self)
pub fn clear(&mut self)
Clears the set, removing all elements.
pub fn try_insert(&mut self, item: T) -> Result<bool, T>
pub fn try_insert(&mut self, item: T) -> Result<bool, T>
Exactly the same semantics as BTreeSet::insert
, but returns an Err
(and is a noop) if
the new length of the set exceeds S
.
In the Err
case, returns the inserted item so it can be further used without cloning.
pub fn remove<Q>(&mut self, item: &Q) -> boolwhere
T: Borrow<Q>,
Q: Ord + ?Sized,
pub fn remove<Q>(&mut self, item: &Q) -> boolwhere T: Borrow<Q>, Q: Ord + ?Sized,
Remove an item from the set, returning whether it was previously in the set.
The item may be any borrowed form of the set’s item type, but the ordering on the borrowed form must match the ordering on the item type.
pub fn take<Q>(&mut self, value: &Q) -> Option<T>where
T: Borrow<Q> + Ord,
Q: Ord + ?Sized,
pub fn take<Q>(&mut self, value: &Q) -> Option<T>where T: Borrow<Q> + Ord, Q: Ord + ?Sized,
Removes and returns the value in the set, if any, that is equal to the given one.
The value may be any borrowed form of the set’s value type, but the ordering on the borrowed form must match the ordering on the value type.
Methods from Deref<Target = BTreeSet<T, Global>>§
1.17.0 · sourcepub fn range<K, R>(&self, range: R) -> Range<'_, T>where
K: Ord + ?Sized,
T: Borrow<K> + Ord,
R: RangeBounds<K>,
pub fn range<K, R>(&self, range: R) -> Range<'_, T>where K: Ord + ?Sized, T: Borrow<K> + Ord, R: RangeBounds<K>,
Constructs a double-ended iterator over a sub-range of elements in the set.
The simplest way is to use the range syntax min..max
, thus range(min..max)
will
yield elements from min (inclusive) to max (exclusive).
The range may also be entered as (Bound<T>, Bound<T>)
, so for example
range((Excluded(4), Included(10)))
will yield a left-exclusive, right-inclusive
range from 4 to 10.
Panics
Panics if range start > end
.
Panics if range start == end
and both bounds are Excluded
.
Examples
use std::collections::BTreeSet;
use std::ops::Bound::Included;
let mut set = BTreeSet::new();
set.insert(3);
set.insert(5);
set.insert(8);
for &elem in set.range((Included(&4), Included(&8))) {
println!("{elem}");
}
assert_eq!(Some(&5), set.range(4..).next());
1.0.0 · sourcepub fn difference<'a>(
&'a self,
other: &'a BTreeSet<T, A>
) -> Difference<'a, T, A>where
T: Ord,
pub fn difference<'a>( &'a self, other: &'a BTreeSet<T, A> ) -> Difference<'a, T, A>where T: Ord,
Visits the elements representing the difference,
i.e., the elements that are in self
but not in other
,
in ascending order.
Examples
use std::collections::BTreeSet;
let mut a = BTreeSet::new();
a.insert(1);
a.insert(2);
let mut b = BTreeSet::new();
b.insert(2);
b.insert(3);
let diff: Vec<_> = a.difference(&b).cloned().collect();
assert_eq!(diff, [1]);
1.0.0 · sourcepub fn symmetric_difference<'a>(
&'a self,
other: &'a BTreeSet<T, A>
) -> SymmetricDifference<'a, T>where
T: Ord,
pub fn symmetric_difference<'a>( &'a self, other: &'a BTreeSet<T, A> ) -> SymmetricDifference<'a, T>where T: Ord,
Visits the elements representing the symmetric difference,
i.e., the elements that are in self
or in other
but not in both,
in ascending order.
Examples
use std::collections::BTreeSet;
let mut a = BTreeSet::new();
a.insert(1);
a.insert(2);
let mut b = BTreeSet::new();
b.insert(2);
b.insert(3);
let sym_diff: Vec<_> = a.symmetric_difference(&b).cloned().collect();
assert_eq!(sym_diff, [1, 3]);
1.0.0 · sourcepub fn intersection<'a>(
&'a self,
other: &'a BTreeSet<T, A>
) -> Intersection<'a, T, A>where
T: Ord,
pub fn intersection<'a>( &'a self, other: &'a BTreeSet<T, A> ) -> Intersection<'a, T, A>where T: Ord,
Visits the elements representing the intersection,
i.e., the elements that are both in self
and other
,
in ascending order.
Examples
use std::collections::BTreeSet;
let mut a = BTreeSet::new();
a.insert(1);
a.insert(2);
let mut b = BTreeSet::new();
b.insert(2);
b.insert(3);
let intersection: Vec<_> = a.intersection(&b).cloned().collect();
assert_eq!(intersection, [2]);
1.0.0 · sourcepub fn union<'a>(&'a self, other: &'a BTreeSet<T, A>) -> Union<'a, T>where
T: Ord,
pub fn union<'a>(&'a self, other: &'a BTreeSet<T, A>) -> Union<'a, T>where T: Ord,
Visits the elements representing the union,
i.e., all the elements in self
or other
, without duplicates,
in ascending order.
Examples
use std::collections::BTreeSet;
let mut a = BTreeSet::new();
a.insert(1);
let mut b = BTreeSet::new();
b.insert(2);
let union: Vec<_> = a.union(&b).cloned().collect();
assert_eq!(union, [1, 2]);
1.0.0 · sourcepub fn contains<Q>(&self, value: &Q) -> boolwhere
T: Borrow<Q> + Ord,
Q: Ord + ?Sized,
pub fn contains<Q>(&self, value: &Q) -> boolwhere T: Borrow<Q> + Ord, Q: Ord + ?Sized,
Returns true
if the set contains an element equal to the value.
The value may be any borrowed form of the set’s element type, but the ordering on the borrowed form must match the ordering on the element type.
Examples
use std::collections::BTreeSet;
let set = BTreeSet::from([1, 2, 3]);
assert_eq!(set.contains(&1), true);
assert_eq!(set.contains(&4), false);
1.9.0 · sourcepub fn get<Q>(&self, value: &Q) -> Option<&T>where
T: Borrow<Q> + Ord,
Q: Ord + ?Sized,
pub fn get<Q>(&self, value: &Q) -> Option<&T>where T: Borrow<Q> + Ord, Q: Ord + ?Sized,
Returns a reference to the element in the set, if any, that is equal to the value.
The value may be any borrowed form of the set’s element type, but the ordering on the borrowed form must match the ordering on the element type.
Examples
use std::collections::BTreeSet;
let set = BTreeSet::from([1, 2, 3]);
assert_eq!(set.get(&2), Some(&2));
assert_eq!(set.get(&4), None);
1.0.0 · sourcepub fn is_disjoint(&self, other: &BTreeSet<T, A>) -> boolwhere
T: Ord,
pub fn is_disjoint(&self, other: &BTreeSet<T, A>) -> boolwhere T: Ord,
Returns true
if self
has no elements in common with other
.
This is equivalent to checking for an empty intersection.
Examples
use std::collections::BTreeSet;
let a = BTreeSet::from([1, 2, 3]);
let mut b = BTreeSet::new();
assert_eq!(a.is_disjoint(&b), true);
b.insert(4);
assert_eq!(a.is_disjoint(&b), true);
b.insert(1);
assert_eq!(a.is_disjoint(&b), false);
1.0.0 · sourcepub fn is_subset(&self, other: &BTreeSet<T, A>) -> boolwhere
T: Ord,
pub fn is_subset(&self, other: &BTreeSet<T, A>) -> boolwhere T: Ord,
Returns true
if the set is a subset of another,
i.e., other
contains at least all the elements in self
.
Examples
use std::collections::BTreeSet;
let sup = BTreeSet::from([1, 2, 3]);
let mut set = BTreeSet::new();
assert_eq!(set.is_subset(&sup), true);
set.insert(2);
assert_eq!(set.is_subset(&sup), true);
set.insert(4);
assert_eq!(set.is_subset(&sup), false);
1.0.0 · sourcepub fn is_superset(&self, other: &BTreeSet<T, A>) -> boolwhere
T: Ord,
pub fn is_superset(&self, other: &BTreeSet<T, A>) -> boolwhere T: Ord,
Returns true
if the set is a superset of another,
i.e., self
contains at least all the elements in other
.
Examples
use std::collections::BTreeSet;
let sub = BTreeSet::from([1, 2]);
let mut set = BTreeSet::new();
assert_eq!(set.is_superset(&sub), false);
set.insert(0);
set.insert(1);
assert_eq!(set.is_superset(&sub), false);
set.insert(2);
assert_eq!(set.is_superset(&sub), true);
1.66.0 · sourcepub fn first(&self) -> Option<&T>where
T: Ord,
pub fn first(&self) -> Option<&T>where T: Ord,
Returns a reference to the first element in the set, if any. This element is always the minimum of all elements in the set.
Examples
Basic usage:
use std::collections::BTreeSet;
let mut set = BTreeSet::new();
assert_eq!(set.first(), None);
set.insert(1);
assert_eq!(set.first(), Some(&1));
set.insert(2);
assert_eq!(set.first(), Some(&1));
1.66.0 · sourcepub fn last(&self) -> Option<&T>where
T: Ord,
pub fn last(&self) -> Option<&T>where T: Ord,
Returns a reference to the last element in the set, if any. This element is always the maximum of all elements in the set.
Examples
Basic usage:
use std::collections::BTreeSet;
let mut set = BTreeSet::new();
assert_eq!(set.last(), None);
set.insert(1);
assert_eq!(set.last(), Some(&1));
set.insert(2);
assert_eq!(set.last(), Some(&2));
1.0.0 · sourcepub fn iter(&self) -> Iter<'_, T>
pub fn iter(&self) -> Iter<'_, T>
Gets an iterator that visits the elements in the BTreeSet
in ascending
order.
Examples
use std::collections::BTreeSet;
let set = BTreeSet::from([1, 2, 3]);
let mut set_iter = set.iter();
assert_eq!(set_iter.next(), Some(&1));
assert_eq!(set_iter.next(), Some(&2));
assert_eq!(set_iter.next(), Some(&3));
assert_eq!(set_iter.next(), None);
Values returned by the iterator are returned in ascending order:
use std::collections::BTreeSet;
let set = BTreeSet::from([3, 1, 2]);
let mut set_iter = set.iter();
assert_eq!(set_iter.next(), Some(&1));
assert_eq!(set_iter.next(), Some(&2));
assert_eq!(set_iter.next(), Some(&3));
assert_eq!(set_iter.next(), None);
Trait Implementations§
source§impl<T> Clone for TrustRegistryIdSet<T>where
T: Limits,
impl<T> Clone for TrustRegistryIdSet<T>where T: Limits,
source§fn clone(&self) -> TrustRegistryIdSet<T>
fn clone(&self) -> TrustRegistryIdSet<T>
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moresource§impl<T> Debug for TrustRegistryIdSet<T>where
T: Limits,
impl<T> Debug for TrustRegistryIdSet<T>where T: Limits,
source§impl<T> Decode for TrustRegistryIdSet<T>where
T: Limits,
BoundedBTreeSet<TrustRegistryId, <T as Limits>::MaxConvenerRegistries>: Decode,
impl<T> Decode for TrustRegistryIdSet<T>where T: Limits, BoundedBTreeSet<TrustRegistryId, <T as Limits>::MaxConvenerRegistries>: Decode,
source§fn decode<__CodecInputEdqy>(
__codec_input_edqy: &mut __CodecInputEdqy
) -> Result<TrustRegistryIdSet<T>, Error>where
__CodecInputEdqy: Input,
fn decode<__CodecInputEdqy>( __codec_input_edqy: &mut __CodecInputEdqy ) -> Result<TrustRegistryIdSet<T>, Error>where __CodecInputEdqy: Input,
§fn decode_into<I>(
input: &mut I,
dst: &mut MaybeUninit<Self>
) -> Result<DecodeFinished, Error>where
I: Input,
fn decode_into<I>( input: &mut I, dst: &mut MaybeUninit<Self> ) -> Result<DecodeFinished, Error>where I: Input,
§fn skip<I>(input: &mut I) -> Result<(), Error>where
I: Input,
fn skip<I>(input: &mut I) -> Result<(), Error>where I: Input,
§fn encoded_fixed_size() -> Option<usize>
fn encoded_fixed_size() -> Option<usize>
source§impl<T> Default for TrustRegistryIdSet<T>where
T: Limits,
impl<T> Default for TrustRegistryIdSet<T>where T: Limits,
source§fn default() -> TrustRegistryIdSet<T>
fn default() -> TrustRegistryIdSet<T>
source§impl<T> Deref for TrustRegistryIdSet<T>where
T: Limits,
impl<T> Deref for TrustRegistryIdSet<T>where T: Limits,
§type Target = BoundedBTreeSet<TrustRegistryId, <T as Limits>::MaxConvenerRegistries>
type Target = BoundedBTreeSet<TrustRegistryId, <T as Limits>::MaxConvenerRegistries>
source§impl<T> DerefMut for TrustRegistryIdSet<T>where
T: Limits,
impl<T> DerefMut for TrustRegistryIdSet<T>where T: Limits,
source§impl<'de, T> Deserialize<'de> for TrustRegistryIdSet<T>where
T: Limits,
impl<'de, T> Deserialize<'de> for TrustRegistryIdSet<T>where T: Limits,
source§fn deserialize<__D>(
__deserializer: __D
) -> Result<TrustRegistryIdSet<T>, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>( __deserializer: __D ) -> Result<TrustRegistryIdSet<T>, <__D as Deserializer<'de>>::Error>where __D: Deserializer<'de>,
source§impl<T> Encode for TrustRegistryIdSet<T>where
T: Limits,
BoundedBTreeSet<TrustRegistryId, <T as Limits>::MaxConvenerRegistries>: Encode,
impl<T> Encode for TrustRegistryIdSet<T>where T: Limits, BoundedBTreeSet<TrustRegistryId, <T as Limits>::MaxConvenerRegistries>: Encode,
source§fn size_hint(&self) -> usize
fn size_hint(&self) -> usize
source§fn encode_to<__CodecOutputEdqy>(&self, __codec_dest_edqy: &mut __CodecOutputEdqy)where
__CodecOutputEdqy: Output + ?Sized,
fn encode_to<__CodecOutputEdqy>(&self, __codec_dest_edqy: &mut __CodecOutputEdqy)where __CodecOutputEdqy: Output + ?Sized,
source§fn using_encoded<R, F>(&self, f: F) -> Rwhere
F: FnOnce(&[u8]) -> R,
fn using_encoded<R, F>(&self, f: F) -> Rwhere F: FnOnce(&[u8]) -> R,
§fn encoded_size(&self) -> usize
fn encoded_size(&self) -> usize
source§impl<T> From<BoundedBTreeSet<TrustRegistryId, <T as Limits>::MaxConvenerRegistries>> for TrustRegistryIdSet<T>where
T: Limits,
impl<T> From<BoundedBTreeSet<TrustRegistryId, <T as Limits>::MaxConvenerRegistries>> for TrustRegistryIdSet<T>where T: Limits,
source§fn from(
value: BoundedBTreeSet<TrustRegistryId, <T as Limits>::MaxConvenerRegistries>
) -> TrustRegistryIdSet<T>
fn from( value: BoundedBTreeSet<TrustRegistryId, <T as Limits>::MaxConvenerRegistries> ) -> TrustRegistryIdSet<T>
source§impl<T> From<TrustRegistryIdSet<T>> for BoundedBTreeSet<TrustRegistryId, <T as Limits>::MaxConvenerRegistries>where
T: Limits,
impl<T> From<TrustRegistryIdSet<T>> for BoundedBTreeSet<TrustRegistryId, <T as Limits>::MaxConvenerRegistries>where T: Limits,
source§fn from(
wrapper: TrustRegistryIdSet<T>
) -> BoundedBTreeSet<TrustRegistryId, <T as Limits>::MaxConvenerRegistries>
fn from( wrapper: TrustRegistryIdSet<T> ) -> BoundedBTreeSet<TrustRegistryId, <T as Limits>::MaxConvenerRegistries>
source§impl<T> MaxEncodedLen for TrustRegistryIdSet<T>where
T: Limits,
BoundedBTreeSet<TrustRegistryId, <T as Limits>::MaxConvenerRegistries>: MaxEncodedLen,
impl<T> MaxEncodedLen for TrustRegistryIdSet<T>where T: Limits, BoundedBTreeSet<TrustRegistryId, <T as Limits>::MaxConvenerRegistries>: MaxEncodedLen,
source§fn max_encoded_len() -> usize
fn max_encoded_len() -> usize
source§impl<T> PartialEq<TrustRegistryIdSet<T>> for TrustRegistryIdSet<T>where
T: Limits,
impl<T> PartialEq<TrustRegistryIdSet<T>> for TrustRegistryIdSet<T>where T: Limits,
source§fn eq(&self, other: &TrustRegistryIdSet<T>) -> bool
fn eq(&self, other: &TrustRegistryIdSet<T>) -> bool
self
and other
values to be equal, and is used
by ==
.source§impl<T> Serialize for TrustRegistryIdSet<T>where
T: Limits,
impl<T> Serialize for TrustRegistryIdSet<T>where T: Limits,
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,
source§impl<T> TypeInfo for TrustRegistryIdSet<T>where
T: Limits + 'static,
BoundedBTreeSet<TrustRegistryId, <T as Limits>::MaxConvenerRegistries>: TypeInfo + 'static,
impl<T> TypeInfo for TrustRegistryIdSet<T>where T: Limits + 'static, BoundedBTreeSet<TrustRegistryId, <T as Limits>::MaxConvenerRegistries>: TypeInfo + 'static,
impl<T> EncodeLike<TrustRegistryIdSet<T>> for TrustRegistryIdSet<T>where T: Limits, BoundedBTreeSet<TrustRegistryId, <T as Limits>::MaxConvenerRegistries>: Encode,
impl<T> Eq for TrustRegistryIdSet<T>where T: Limits,
Auto Trait Implementations§
impl<T> RefUnwindSafe for TrustRegistryIdSet<T>where <T as Limits>::MaxConvenerRegistries: RefUnwindSafe,
impl<T> Send for TrustRegistryIdSet<T>
impl<T> Sync for TrustRegistryIdSet<T>
impl<T> Unpin for TrustRegistryIdSet<T>where <T as Limits>::MaxConvenerRegistries: Unpin,
impl<T> UnwindSafe for TrustRegistryIdSet<T>where <T as Limits>::MaxConvenerRegistries: UnwindSafe,
Blanket Implementations§
source§impl<T> CanUpdate<()> for T
impl<T> CanUpdate<()> for T
source§fn can_remove(&self, _entity: &()) -> bool
fn can_remove(&self, _entity: &()) -> bool
§impl<T> CheckedConversion for T
impl<T> CheckedConversion for T
§fn checked_from<T>(t: T) -> Option<Self>where
Self: TryFrom<T>,
fn checked_from<T>(t: T) -> Option<Self>where Self: TryFrom<T>,
§fn checked_into<T>(self) -> Option<T>where
Self: TryInto<T>,
fn checked_into<T>(self) -> Option<T>where Self: TryInto<T>,
§impl<T> DecodeAll for Twhere
T: Decode,
impl<T> DecodeAll for Twhere T: Decode,
§fn decode_all(input: &mut &[u8]) -> Result<T, Error>
fn decode_all(input: &mut &[u8]) -> Result<T, Error>
Self
and consume all of the given input data. Read more§impl<T> DecodeLimit for Twhere
T: Decode,
impl<T> DecodeLimit for Twhere T: Decode,
§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere T: Any,
§fn into_any(self: Box<T, Global>) -> Box<dyn Any + 'static, Global>
fn into_any(self: Box<T, Global>) -> Box<dyn Any + 'static, Global>
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 + 'static>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any + 'static>
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.source§impl<Q, K> Equivalent<K> for Qwhere
Q: Eq + ?Sized,
K: Borrow<Q> + ?Sized,
impl<Q, K> Equivalent<K> for Qwhere Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,
source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key
and return true
if they are equal.§impl<T> Hashable for Twhere
T: Codec,
impl<T> Hashable for Twhere T: Codec,
§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>
§impl<T> IsType<T> for T
impl<T> IsType<T> for T
§impl<T> KeyedVec for Twhere
T: Codec,
impl<T> KeyedVec for Twhere T: Codec,
§impl<T> Pointable for T
impl<T> Pointable for T
§impl<T> SaturatedConversion for T
impl<T> SaturatedConversion for T
§fn saturated_from<T>(t: T) -> Selfwhere
Self: UniqueSaturatedFrom<T>,
fn saturated_from<T>(t: T) -> Selfwhere Self: UniqueSaturatedFrom<T>,
§fn saturated_into<T>(self) -> Twhere
Self: UniqueSaturatedInto<T>,
fn saturated_into<T>(self) -> Twhere Self: UniqueSaturatedInto<T>,
T
. Read more§impl<S, T> UncheckedInto<T> for Swhere
T: UncheckedFrom<S>,
impl<S, T> UncheckedInto<T> for Swhere T: UncheckedFrom<S>,
§fn unchecked_into(self) -> T
fn unchecked_into(self) -> T
unchecked_from
.§impl<T, S> UniqueSaturatedInto<T> for Swhere
T: Bounded,
S: TryInto<T>,
impl<T, S> UniqueSaturatedInto<T> for Swhere T: Bounded, S: TryInto<T>,
§fn unique_saturated_into(self) -> T
fn unique_saturated_into(self) -> T
T
.