Struct bp::TapMerklePath
source · pub struct TapMerklePath(/* private fields */);
Implementations§
source§impl TapMerklePath
impl TapMerklePath
sourcepub fn try_from(path: Vec<TapBranchHash>) -> Result<TapMerklePath, Error>
pub fn try_from(path: Vec<TapBranchHash>) -> Result<TapMerklePath, Error>
Tries to construct a confinement over a collection. Fails if the number of items in the collection exceeds one of the confinement bounds.
sourcepub fn try_from_iter<I>(iter: I) -> Result<TapMerklePath, Error>where
I: IntoIterator<Item = TapBranchHash>,
pub fn try_from_iter<I>(iter: I) -> Result<TapMerklePath, Error>where
I: IntoIterator<Item = TapBranchHash>,
Tries to construct a confinement with a collection of elements taken from an iterator. Fails if the number of items in the collection exceeds one of the confinement bounds.
Methods from Deref<Target = Confined<Vec<TapBranchHash>, 0, 128>>§
sourcepub fn iter_mut(&'c mut self) -> <&'c mut C as IntoIterator>::IntoIter
pub fn iter_mut(&'c mut self) -> <&'c mut C as IntoIterator>::IntoIter
Returns an iterator that allows modifying each value.
The iterator yields all items from start to end.
sourcepub fn keyed_values_mut(&'c mut self) -> <&'c mut C as IntoIterator>::IntoIter
pub fn keyed_values_mut(&'c mut self) -> <&'c mut C as IntoIterator>::IntoIter
Returns an iterator that allows modifying each value for each key.
sourcepub fn push(&mut self, elem: <C as Collection>::Item) -> Result<(), Error>
pub fn push(&mut self, elem: <C as Collection>::Item) -> Result<(), Error>
Attempts to add a single element to the confined collection. Fails if the number of elements in the collection already maximal.
sourcepub fn extend<T>(&mut self, iter: T) -> Result<(), Error>
pub fn extend<T>(&mut self, iter: T) -> Result<(), Error>
Attempts to add all elements from an iterator to the confined collection. Fails if the number of elements in the collection already maximal.
sourcepub fn len_u8(&self) -> u8
pub fn len_u8(&self) -> u8
Returns number of elements in the confined collection as u8
. The
confinement guarantees that the collection length can’t exceed
u8::MAX
.
sourcepub fn len_u16(&self) -> u16
pub fn len_u16(&self) -> u16
Returns number of elements in the confined collection as u16
. The
confinement guarantees that the collection length can’t exceed
u16::MAX
.
sourcepub fn len_u24(&self) -> u24
pub fn len_u24(&self) -> u24
Returns number of elements in the confined collection as u24
. The
confinement guarantees that the collection length can’t exceed
u24::MAX
.
sourcepub fn len_u32(&self) -> u32
pub fn len_u32(&self) -> u32
Returns number of elements in the confined collection as u32
. The
confinement guarantees that the collection length can’t exceed
u32::MAX
.
sourcepub fn get_mut(
&mut self,
key: &<C as KeyedCollection>::Key
) -> Option<&mut <C as KeyedCollection>::Value>
pub fn get_mut( &mut self, key: &<C as KeyedCollection>::Key ) -> Option<&mut <C as KeyedCollection>::Value>
Gets mutable reference to an element of the collection.
sourcepub fn insert(
&mut self,
key: <C as KeyedCollection>::Key,
value: <C as KeyedCollection>::Value
) -> Result<Option<<C as KeyedCollection>::Value>, Error>
pub fn insert( &mut self, key: <C as KeyedCollection>::Key, value: <C as KeyedCollection>::Value ) -> Result<Option<<C as KeyedCollection>::Value>, Error>
Inserts a new value into the confined collection under a given key. Fails if the collection already contains maximum number of elements allowed by the confinement.
sourcepub fn pop(&mut self) -> Option<char>
pub fn pop(&mut self) -> Option<char>
Removes the last character from a string and returns it, or None
if
it is empty.
sourcepub fn remove(&mut self, index: usize) -> Result<char, Error>
pub fn remove(&mut self, index: usize) -> Result<char, Error>
Removes a single character from the confined string, unless the string doesn’t shorten more than the confinement requirement. Errors otherwise.
sourcepub fn pop(&mut self) -> Option<AsciiChar>
pub fn pop(&mut self) -> Option<AsciiChar>
Removes the last character from a string and returns it, or None
if
it is empty.
sourcepub fn remove(&mut self, index: usize) -> Result<AsciiChar, Error>
pub fn remove(&mut self, index: usize) -> Result<AsciiChar, Error>
Removes a single character from the confined string, unless the string doesn’t shorten more than the confinement requirement. Errors otherwise.
sourcepub fn get_mut<I>(
&mut self,
index: I
) -> Option<&mut <I as SliceIndex<[T]>>::Output>where
I: SliceIndex<[T]>,
pub fn get_mut<I>(
&mut self,
index: I
) -> Option<&mut <I as SliceIndex<[T]>>::Output>where
I: SliceIndex<[T]>,
Gets the mutable element of a vector
sourcepub fn pop(&mut self) -> Option<T>
pub fn pop(&mut self) -> Option<T>
Removes the last element from a vector and returns it, or None
if it
is empty.
sourcepub fn remove(&mut self, index: usize) -> Result<T, Error>
pub fn remove(&mut self, index: usize) -> Result<T, Error>
Removes an element from the vector at a given index. Errors if the index exceeds the number of elements in the vector, of if the new vector length will be less than the confinement requirement. Returns the removed element otherwise.
sourcepub fn iter(&self) -> Iter<'_, T>
pub fn iter(&self) -> Iter<'_, T>
Returns an iterator over the slice.
The iterator yields all items from start to end.
sourcepub fn pop_front(&mut self) -> Option<T>
pub fn pop_front(&mut self) -> Option<T>
Removes the first element and returns it, or None
if the deque is
empty.
sourcepub fn pop_back(&mut self) -> Option<T>
pub fn pop_back(&mut self) -> Option<T>
Removes the last element and returns it, or None
if the deque is
empty.
sourcepub fn push_from(&mut self, elem: T) -> Result<(), Error>
pub fn push_from(&mut self, elem: T) -> Result<(), Error>
Prepends an element to the deque. Errors if the new collection length will not fit the confinement requirements.
sourcepub fn push_back(&mut self, elem: T) -> Result<(), Error>
pub fn push_back(&mut self, elem: T) -> Result<(), Error>
Appends an element to the deque. Errors if the new collection length will not fit the confinement requirements.
sourcepub fn remove(&mut self, index: usize) -> Result<T, Error>
pub fn remove(&mut self, index: usize) -> Result<T, Error>
Removes an element from the deque at a given index. Errors if the index exceeds the number of elements in the deque, of if the new deque length will be less than the confinement requirement. Returns the removed element otherwise.
sourcepub fn remove(&mut self, elem: &T) -> Result<bool, Error>
Available on crate feature std
only.
pub fn remove(&mut self, elem: &T) -> Result<bool, Error>
std
only.Removes an element from the set. Errors if the index exceeds the number of elements in the set, of if the new collection length will be less than the confinement requirement. Returns if the element was present in the set.
sourcepub fn take(&mut self, elem: &T) -> Result<Option<T>, Error>
Available on crate feature std
only.
pub fn take(&mut self, elem: &T) -> Result<Option<T>, Error>
std
only.Removes an element from the set. Errors if the index exceeds the number of elements in the set, of if the new collection length will be less than the confinement requirement. Returns the removed element otherwise.
sourcepub fn remove(&mut self, elem: &T) -> Result<bool, Error>
pub fn remove(&mut self, elem: &T) -> Result<bool, Error>
Removes an element from the set. Errors if the index exceeds the number of elements in the set, of if the new collection length will be less than the confinement requirement. Returns if the element was present in the set.
sourcepub fn take(&mut self, elem: &T) -> Result<Option<T>, Error>
pub fn take(&mut self, elem: &T) -> Result<Option<T>, Error>
Removes an element from the set. Errors if the index exceeds the number of elements in the set, of if the new collection length will be less than the confinement requirement. Returns the removed element otherwise.
sourcepub fn remove(&mut self, key: &K) -> Result<Option<V>, Error>
Available on crate feature std
only.
pub fn remove(&mut self, key: &K) -> Result<Option<V>, Error>
std
only.Removes an element from the map. Errors if the index exceeds the number of elements in the map, of if the new collection length will be less than the confinement requirement. Returns the removed value otherwise.
Trait Implementations§
source§impl AsMut<<TapMerklePath as Wrapper>::Inner> for TapMerklePath
impl AsMut<<TapMerklePath as Wrapper>::Inner> for TapMerklePath
source§impl AsRef<Confined<Vec<TapBranchHash>, 0, 128>> for TapMerklePath
impl AsRef<Confined<Vec<TapBranchHash>, 0, 128>> for TapMerklePath
source§impl Borrow<Confined<Vec<TapBranchHash>, 0, 128>> for TapMerklePath
impl Borrow<Confined<Vec<TapBranchHash>, 0, 128>> for TapMerklePath
source§impl BorrowMut<<TapMerklePath as Wrapper>::Inner> for TapMerklePath
impl BorrowMut<<TapMerklePath as Wrapper>::Inner> for TapMerklePath
source§fn borrow_mut(&mut self) -> &mut <TapMerklePath as Wrapper>::Inner
fn borrow_mut(&mut self) -> &mut <TapMerklePath as Wrapper>::Inner
source§impl Clone for TapMerklePath
impl Clone for TapMerklePath
source§fn clone(&self) -> TapMerklePath
fn clone(&self) -> TapMerklePath
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moresource§impl Debug for TapMerklePath
impl Debug for TapMerklePath
source§impl Default for TapMerklePath
impl Default for TapMerklePath
source§fn default() -> TapMerklePath
fn default() -> TapMerklePath
source§impl Deref for TapMerklePath
impl Deref for TapMerklePath
source§impl DerefMut for TapMerklePath
impl DerefMut for TapMerklePath
source§impl<'de> Deserialize<'de> for TapMerklePath
impl<'de> Deserialize<'de> for TapMerklePath
source§fn deserialize<__D>(
__deserializer: __D
) -> Result<TapMerklePath, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(
__deserializer: __D
) -> Result<TapMerklePath, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
source§impl From<Confined<Vec<TapBranchHash>, 0, 128>> for TapMerklePath
impl From<Confined<Vec<TapBranchHash>, 0, 128>> for TapMerklePath
source§fn from(v: Confined<Vec<TapBranchHash>, 0, 128>) -> TapMerklePath
fn from(v: Confined<Vec<TapBranchHash>, 0, 128>) -> TapMerklePath
source§impl From<TapMerklePath> for Confined<Vec<TapBranchHash>, 0, 128>
impl From<TapMerklePath> for Confined<Vec<TapBranchHash>, 0, 128>
source§fn from(wrapped: TapMerklePath) -> Confined<Vec<TapBranchHash>, 0, 128>
fn from(wrapped: TapMerklePath) -> Confined<Vec<TapBranchHash>, 0, 128>
source§impl Hash for TapMerklePath
impl Hash for TapMerklePath
source§impl<'a> IntoIterator for &'a TapMerklePath
impl<'a> IntoIterator for &'a TapMerklePath
§type Item = &'a TapBranchHash
type Item = &'a TapBranchHash
§type IntoIter = Iter<'a, TapBranchHash>
type IntoIter = Iter<'a, TapBranchHash>
source§fn into_iter(self) -> <&'a TapMerklePath as IntoIterator>::IntoIter
fn into_iter(self) -> <&'a TapMerklePath as IntoIterator>::IntoIter
source§impl IntoIterator for TapMerklePath
impl IntoIterator for TapMerklePath
§type Item = TapBranchHash
type Item = TapBranchHash
§type IntoIter = IntoIter<TapBranchHash>
type IntoIter = IntoIter<TapBranchHash>
source§fn into_iter(self) -> <TapMerklePath as IntoIterator>::IntoIter
fn into_iter(self) -> <TapMerklePath as IntoIterator>::IntoIter
source§impl Ord for TapMerklePath
impl Ord for TapMerklePath
source§fn cmp(&self, other: &TapMerklePath) -> Ordering
fn cmp(&self, other: &TapMerklePath) -> Ordering
1.21.0 · source§fn max(self, other: Self) -> Selfwhere
Self: Sized,
fn max(self, other: Self) -> Selfwhere
Self: Sized,
source§impl PartialEq for TapMerklePath
impl PartialEq for TapMerklePath
source§fn eq(&self, other: &TapMerklePath) -> bool
fn eq(&self, other: &TapMerklePath) -> bool
self
and other
values to be equal, and is used
by ==
.source§impl PartialOrd for TapMerklePath
impl PartialOrd for TapMerklePath
source§fn partial_cmp(&self, other: &TapMerklePath) -> Option<Ordering>
fn partial_cmp(&self, other: &TapMerklePath) -> Option<Ordering>
1.0.0 · source§fn le(&self, other: &Rhs) -> bool
fn le(&self, other: &Rhs) -> bool
self
and other
) and is used by the <=
operator. Read moresource§impl Serialize for TapMerklePath
impl Serialize for TapMerklePath
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 StrictDecode for TapMerklePath
impl StrictDecode for TapMerklePath
fn strict_decode( reader: &mut impl TypedRead ) -> Result<TapMerklePath, DecodeError>
fn strict_read(reader: impl ReadRaw) -> Result<Self, DecodeError>
source§impl StrictEncode for TapMerklePath
impl StrictEncode for TapMerklePath
fn strict_encode<W>(&self, writer: W) -> Result<W, Error>where
W: TypedWrite,
fn strict_write(&self, writer: impl WriteRaw) -> Result<(), Error>
source§impl StrictTuple for TapMerklePath
impl StrictTuple for TapMerklePath
const FIELD_COUNT: u8 = 1u8
fn strict_check_fields()
fn strict_type_info() -> TypeInfo<Self>
source§impl StrictType for TapMerklePath
impl StrictType for TapMerklePath
const STRICT_LIB_NAME: &'static str = LIB_NAME_BITCOIN
fn strict_name() -> Option<TypeName>
source§impl Wrapper for TapMerklePath
impl Wrapper for TapMerklePath
§type Inner = Confined<Vec<TapBranchHash>, 0, 128>
type Inner = Confined<Vec<TapBranchHash>, 0, 128>
source§fn from_inner(inner: <TapMerklePath as Wrapper>::Inner) -> TapMerklePath
fn from_inner(inner: <TapMerklePath as Wrapper>::Inner) -> TapMerklePath
source§fn as_inner(&self) -> &<TapMerklePath as Wrapper>::Inner
fn as_inner(&self) -> &<TapMerklePath as Wrapper>::Inner
source§fn into_inner(self) -> <TapMerklePath as Wrapper>::Inner
fn into_inner(self) -> <TapMerklePath as Wrapper>::Inner
source§impl WrapperMut for TapMerklePath
impl WrapperMut for TapMerklePath
source§fn as_inner_mut(&mut self) -> &mut <TapMerklePath as Wrapper>::Inner
fn as_inner_mut(&mut self) -> &mut <TapMerklePath as Wrapper>::Inner
impl Eq for TapMerklePath
impl StrictProduct for TapMerklePath
impl StructuralPartialEq for TapMerklePath
Auto Trait Implementations§
impl Freeze for TapMerklePath
impl RefUnwindSafe for TapMerklePath
impl Send for TapMerklePath
impl Sync for TapMerklePath
impl Unpin for TapMerklePath
impl UnwindSafe for TapMerklePath
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
source§impl<Q, K> Comparable<K> for Q
impl<Q, K> Comparable<K> for Q
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
key
and return true
if they are equal.