Struct clementine::Transaction
[−]
[src]
pub struct Transaction { /* fields omitted */ }
Methods
impl Transaction
[src]
fn new(store: BTreeMap<String, Data>, persist: Box<Persistable>) -> Transaction
fn save(&self) -> Result<()>
fn commit(&mut self)
fn rollback(&mut self)
Methods from Deref<Target = BTreeMap<String, Data>>
fn get<Q>(&self, key: &Q) -> Option<&V> where
K: Borrow<Q>,
Q: Ord + ?Sized,
1.0.0
K: Borrow<Q>,
Q: Ord + ?Sized,
Returns a reference to the value corresponding to the key.
The key may be any borrowed form of the map's key type, but the ordering on the borrowed form must match the ordering on the key type.
Examples
Basic usage:
use std::collections::BTreeMap; let mut map = BTreeMap::new(); map.insert(1, "a"); assert_eq!(map.get(&1), Some(&"a")); assert_eq!(map.get(&2), None);
fn contains_key<Q>(&self, key: &Q) -> bool where
K: Borrow<Q>,
Q: Ord + ?Sized,
1.0.0
K: Borrow<Q>,
Q: Ord + ?Sized,
Returns true
if the map contains a value for the specified key.
The key may be any borrowed form of the map's key type, but the ordering on the borrowed form must match the ordering on the key type.
Examples
Basic usage:
use std::collections::BTreeMap; let mut map = BTreeMap::new(); map.insert(1, "a"); assert_eq!(map.contains_key(&1), true); assert_eq!(map.contains_key(&2), false);
fn range<T, R>(&self, range: R) -> Range<K, V> where
K: Borrow<T>,
R: RangeArgument<T>,
T: Ord + ?Sized,
1.17.0
K: Borrow<T>,
R: RangeArgument<T>,
T: Ord + ?Sized,
Constructs a double-ended iterator over a sub-range of elements in the map.
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
Basic usage:
use std::collections::BTreeMap; use std::collections::Bound::Included; let mut map = BTreeMap::new(); map.insert(3, "a"); map.insert(5, "b"); map.insert(8, "c"); for (&key, &value) in map.range((Included(&4), Included(&8))) { println!("{}: {}", key, value); } assert_eq!(Some((&5, &"b")), map.range(4..).next());
fn iter(&self) -> Iter<K, V>
1.0.0
Gets an iterator over the entries of the map, sorted by key.
Examples
Basic usage:
use std::collections::BTreeMap; let mut map = BTreeMap::new(); map.insert(3, "c"); map.insert(2, "b"); map.insert(1, "a"); for (key, value) in map.iter() { println!("{}: {}", key, value); } let (first_key, first_value) = map.iter().next().unwrap(); assert_eq!((*first_key, *first_value), (1, "a"));
fn keys(&'a self) -> Keys<'a, K, V>
1.0.0
Gets an iterator over the keys of the map, in sorted order.
Examples
Basic usage:
use std::collections::BTreeMap; let mut a = BTreeMap::new(); a.insert(2, "b"); a.insert(1, "a"); let keys: Vec<_> = a.keys().cloned().collect(); assert_eq!(keys, [1, 2]);
fn values(&'a self) -> Values<'a, K, V>
1.0.0
Gets an iterator over the values of the map, in order by key.
Examples
Basic usage:
use std::collections::BTreeMap; let mut a = BTreeMap::new(); a.insert(1, "hello"); a.insert(2, "goodbye"); let values: Vec<&str> = a.values().cloned().collect(); assert_eq!(values, ["hello", "goodbye"]);
fn len(&self) -> usize
1.0.0
Returns the number of elements in the map.
Examples
Basic usage:
use std::collections::BTreeMap; let mut a = BTreeMap::new(); assert_eq!(a.len(), 0); a.insert(1, "a"); assert_eq!(a.len(), 1);
fn is_empty(&self) -> bool
1.0.0
Returns true
if the map contains no elements.
Examples
Basic usage:
use std::collections::BTreeMap; let mut a = BTreeMap::new(); assert!(a.is_empty()); a.insert(1, "a"); assert!(!a.is_empty());
Trait Implementations
impl Deref for Transaction
[src]
type Target = BTreeMap<String, Data>
The resulting type after dereferencing
fn deref(&self) -> &BTreeMap<String, Data>
The method called to dereference a value
impl<K> ReadTransaction<K> for Transaction where
K: Into<String> + Ord + Clone,
[src]
K: Into<String> + Ord + Clone,
fn get(&self, key: K) -> Option<&Data>
fn len(&self) -> usize
fn is_empty(&self) -> bool
fn contains_key(&self, key: K) -> bool
impl<K> WriteTransaction<K> for Transaction where
K: Into<String> + Ord + Clone,
[src]
K: Into<String> + Ord + Clone,