pub fn pop(&mut self) -> Option<T> {
        let last_index = self.data.len() - 1;
        self.make_singleton(last_index);

        self.meta.pop()?;
        Some(self.data.pop().unwrap())
    }
/// Removes the last element returns it, or `None` if it is empty.
///
/// This will be done in `O(m)` time where `m` is the size of the set
/// that `index` belongs to.
///
/// # Examples
///
/// ```
/// # #[macro_use]
/// # extern crate partitions;
/// #
/// # fn main() {
/// let mut partition_vec = partition_vec![
///     'a' => 0,
///     'b' => 0,
///     'c' => 1,
///     'd' => 0,
/// ];
///
/// assert!(partition_vec.pop() == Some('d'));
///
/// assert!(partition_vec.amount_of_sets() == 2);
/// assert!(partition_vec.len() == 3);
/// # }
/// ```
Removes the last element returns it, or `None` if it is empty.
Removes the last element returns it or ` None ` if it is empty .
pub fn pop(&mut self) -> Option<T> {
        let last_index = self.data.len() - 1;
        self.make_singleton(last_index);
        self.meta.pop()?;
        Some(self.data.pop().unwrap())
    }
pub fn pop ( & mut self ) -> Option < T > { let last_index = self . data . len ( ) - 1 ; self . make_singleton ( last_index ) ; self . meta . pop ( ) ? ; Some ( self . data . pop ( ) . unwrap ( ) ) }
Removes the last element returns it, or `None` if it is empty.
Removes the last element returns it or ` None ` if it is empty .
&mut self
&mut self
examples
None
#[macro_use]
None
extern crate partitions;
None
fn main() {


assert!(partition_vec.pop() == Some('d')).

assert!(partition_vec.amount_of_sets() == 2);
assert!(partition_vec.len() == 3).
assert! ( partition_vec . pop () == Some ( ' d ' )) . assert! ( partition_vec . amount_of_sets () == 2 ) ; assert! ( partition_vec . len () == 3 ) .
}
None