pub enum MaybeBatch<T> {
Single(T),
Batch(Vec<T>),
}Expand description
Represents either a single item or a batch of items.
This enum is used to generalize over sending one or many requests in the same operation. I.e. to the Electrum server.
Use From implementations to easily convert from T or Vec<T>.
Variants§
Implementations§
Source§impl<T> MaybeBatch<T>
impl<T> MaybeBatch<T>
Sourcepub fn into_vec(self) -> Vec<T>
pub fn into_vec(self) -> Vec<T>
Converts this MaybeBatch into a Vec<T>.
If it is a Single, returns a one-element vector. If it is a Batch, returns the inner vector.
Sourcepub fn push_opt(opt: &mut Option<Self>, item: T)
pub fn push_opt(opt: &mut Option<Self>, item: T)
Pushes a new item into the given Option<MaybeBatch<T>>, creating or extending the batch.
If the option is None, it becomes Some(Single(item)). If it already contains a value,
it is converted into a Batch and the item is appended.
pub fn map<T2>(self, f: impl Fn(T) -> T2) -> MaybeBatch<T2>
pub fn map_into<T2>(self) -> MaybeBatch<T2>where
T: Into<T2>,
Trait Implementations§
Source§impl<T: Clone> Clone for MaybeBatch<T>
impl<T: Clone> Clone for MaybeBatch<T>
Source§fn clone(&self) -> MaybeBatch<T>
fn clone(&self) -> MaybeBatch<T>
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl<T: Debug> Debug for MaybeBatch<T>
impl<T: Debug> Debug for MaybeBatch<T>
Source§impl<'de, T> Deserialize<'de> for MaybeBatch<T>where
T: Deserialize<'de>,
impl<'de, T> Deserialize<'de> for MaybeBatch<T>where
T: Deserialize<'de>,
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Source§impl<T> From<T> for MaybeBatch<T>
impl<T> From<T> for MaybeBatch<T>
Source§impl<T> From<Vec<T>> for MaybeBatch<T>
impl<T> From<Vec<T>> for MaybeBatch<T>
Auto Trait Implementations§
impl<T> Freeze for MaybeBatch<T>where
T: Freeze,
impl<T> RefUnwindSafe for MaybeBatch<T>where
T: RefUnwindSafe,
impl<T> Send for MaybeBatch<T>where
T: Send,
impl<T> Sync for MaybeBatch<T>where
T: Sync,
impl<T> Unpin for MaybeBatch<T>where
T: Unpin,
impl<T> UnsafeUnpin for MaybeBatch<T>where
T: UnsafeUnpin,
impl<T> UnwindSafe for MaybeBatch<T>where
T: UnwindSafe,
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