Struct tokei::Languages [−][src]
pub struct Languages { /* fields omitted */ }
A collection of existing languages(List of Languages)
Methods
impl Languages
[src]
impl Languages
pub fn get_statistics(
&mut self,
paths: &[&str],
ignored: Vec<&str>,
types: Option<Vec<LanguageType>>
)
[src]
pub fn get_statistics(
&mut self,
paths: &[&str],
ignored: Vec<&str>,
types: Option<Vec<LanguageType>>
)
Get statistics from the list of paths provided, and a list ignored keywords to ignore paths containing them.
let mut languages = Languages::new(); languages.get_statistics(&["."], vec![".git", "target"], None);
pub fn new() -> Self
[src]
pub fn new() -> Self
Constructs a new, blank Languages
.
let languages = Languages::new();
pub fn remove_empty(&self) -> BTreeMap<&LanguageType, &Language>
[src]
pub fn remove_empty(&self) -> BTreeMap<&LanguageType, &Language>
Creates a new map that only contains non empty languages.
use tokei::*; use std::collections::BTreeMap; let mut languages = Languages::new(); languages.get_statistics(&["doesnt/exist"], vec![".git"], None); let empty_map = languages.remove_empty(); assert_eq!(empty_map.len(), 0);
Methods from Deref<Target = BTreeMap<LanguageType, Language>>
pub fn clear(&mut self)
1.0.0[src]
pub fn clear(&mut self)
Clears the map, removing all values.
Examples
Basic usage:
use std::collections::BTreeMap; let mut a = BTreeMap::new(); a.insert(1, "a"); a.clear(); assert!(a.is_empty());
pub fn get<Q>(&self, key: &Q) -> Option<&V> where
K: Borrow<Q>,
Q: Ord + ?Sized,
1.0.0[src]
pub fn get<Q>(&self, key: &Q) -> Option<&V> where
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);
pub fn get_key_value<Q>(&self, k: &Q) -> Option<(&K, &V)> where
K: Borrow<Q>,
Q: Ord + ?Sized,
[src]
pub fn get_key_value<Q>(&self, k: &Q) -> Option<(&K, &V)> where
K: Borrow<Q>,
Q: Ord + ?Sized,
map_get_key_value
)Returns the key-value pair corresponding to the supplied key.
The supplied 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
#![feature(map_get_key_value)] use std::collections::BTreeMap; let mut map = BTreeMap::new(); map.insert(1, "a"); assert_eq!(map.get_key_value(&1), Some((&1, &"a"))); assert_eq!(map.get_key_value(&2), None);
pub fn contains_key<Q>(&self, key: &Q) -> bool where
K: Borrow<Q>,
Q: Ord + ?Sized,
1.0.0[src]
pub fn contains_key<Q>(&self, key: &Q) -> bool where
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);
pub fn get_mut<Q>(&mut self, key: &Q) -> Option<&mut V> where
K: Borrow<Q>,
Q: Ord + ?Sized,
1.0.0[src]
pub fn get_mut<Q>(&mut self, key: &Q) -> Option<&mut V> where
K: Borrow<Q>,
Q: Ord + ?Sized,
Returns a mutable 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"); if let Some(x) = map.get_mut(&1) { *x = "b"; } assert_eq!(map[&1], "b");
pub fn insert(&mut self, key: K, value: V) -> Option<V>
1.0.0[src]
pub fn insert(&mut self, key: K, value: V) -> Option<V>
Inserts a key-value pair into the map.
If the map did not have this key present, None
is returned.
If the map did have this key present, the value is updated, and the old
value is returned. The key is not updated, though; this matters for
types that can be ==
without being identical. See the module-level
documentation for more.
Examples
Basic usage:
use std::collections::BTreeMap; let mut map = BTreeMap::new(); assert_eq!(map.insert(37, "a"), None); assert_eq!(map.is_empty(), false); map.insert(37, "b"); assert_eq!(map.insert(37, "c"), Some("b")); assert_eq!(map[&37], "c");
pub fn remove<Q>(&mut self, key: &Q) -> Option<V> where
K: Borrow<Q>,
Q: Ord + ?Sized,
1.0.0[src]
pub fn remove<Q>(&mut self, key: &Q) -> Option<V> where
K: Borrow<Q>,
Q: Ord + ?Sized,
Removes a key from the map, returning the value at the key if the key was previously in the map.
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.remove(&1), Some("a")); assert_eq!(map.remove(&1), None);
pub fn append(&mut self, other: &mut BTreeMap<K, V>)
1.11.0[src]
pub fn append(&mut self, other: &mut BTreeMap<K, V>)
Moves all elements from other
into Self
, leaving other
empty.
Examples
use std::collections::BTreeMap; let mut a = BTreeMap::new(); a.insert(1, "a"); a.insert(2, "b"); a.insert(3, "c"); let mut b = BTreeMap::new(); b.insert(3, "d"); b.insert(4, "e"); b.insert(5, "f"); a.append(&mut b); assert_eq!(a.len(), 5); assert_eq!(b.len(), 0); assert_eq!(a[&1], "a"); assert_eq!(a[&2], "b"); assert_eq!(a[&3], "d"); assert_eq!(a[&4], "e"); assert_eq!(a[&5], "f");
ⓘImportant traits for Range<'a, K, V>pub fn range<T, R>(&self, range: R) -> Range<K, V> where
K: Borrow<T>,
R: RangeBounds<T>,
T: Ord + ?Sized,
1.17.0[src]
pub fn range<T, R>(&self, range: R) -> Range<K, V> where
K: Borrow<T>,
R: RangeBounds<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::ops::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());
ⓘImportant traits for RangeMut<'a, K, V>pub fn range_mut<T, R>(&mut self, range: R) -> RangeMut<K, V> where
K: Borrow<T>,
R: RangeBounds<T>,
T: Ord + ?Sized,
1.17.0[src]
pub fn range_mut<T, R>(&mut self, range: R) -> RangeMut<K, V> where
K: Borrow<T>,
R: RangeBounds<T>,
T: Ord + ?Sized,
Constructs a mutable 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; let mut map: BTreeMap<&str, i32> = ["Alice", "Bob", "Carol", "Cheryl"].iter() .map(|&s| (s, 0)) .collect(); for (_, balance) in map.range_mut("B".."Cheryl") { *balance += 100; } for (name, balance) in &map { println!("{} => {}", name, balance); }
pub fn entry(&mut self, key: K) -> Entry<K, V>
1.0.0[src]
pub fn entry(&mut self, key: K) -> Entry<K, V>
Gets the given key's corresponding entry in the map for in-place manipulation.
Examples
Basic usage:
use std::collections::BTreeMap; let mut count: BTreeMap<&str, usize> = BTreeMap::new(); // count the number of occurrences of letters in the vec for x in vec!["a","b","a","c","a","b"] { *count.entry(x).or_insert(0) += 1; } assert_eq!(count["a"], 3);
pub fn split_off<Q>(&mut self, key: &Q) -> BTreeMap<K, V> where
K: Borrow<Q>,
Q: Ord + ?Sized,
1.11.0[src]
pub fn split_off<Q>(&mut self, key: &Q) -> BTreeMap<K, V> where
K: Borrow<Q>,
Q: Ord + ?Sized,
Splits the collection into two at the given key. Returns everything after the given key, including the key.
Examples
Basic usage:
use std::collections::BTreeMap; let mut a = BTreeMap::new(); a.insert(1, "a"); a.insert(2, "b"); a.insert(3, "c"); a.insert(17, "d"); a.insert(41, "e"); let b = a.split_off(&3); assert_eq!(a.len(), 2); assert_eq!(b.len(), 3); assert_eq!(a[&1], "a"); assert_eq!(a[&2], "b"); assert_eq!(b[&3], "c"); assert_eq!(b[&17], "d"); assert_eq!(b[&41], "e");
ⓘImportant traits for Iter<'a, K, V>pub fn iter(&self) -> Iter<K, V>
1.0.0[src]
pub fn iter(&self) -> Iter<K, V>
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"));
ⓘImportant traits for IterMut<'a, K, V>pub fn iter_mut(&mut self) -> IterMut<K, V>
1.0.0[src]
pub fn iter_mut(&mut self) -> IterMut<K, V>
Gets a mutable iterator over the entries of the map, sorted by key.
Examples
Basic usage:
use std::collections::BTreeMap; let mut map = BTreeMap::new(); map.insert("a", 1); map.insert("b", 2); map.insert("c", 3); // add 10 to the value if the key isn't "a" for (key, value) in map.iter_mut() { if key != &"a" { *value += 10; } }
ⓘImportant traits for Keys<'a, K, V>pub fn keys(&'a self) -> Keys<'a, K, V>
1.0.0[src]
pub fn keys(&'a self) -> Keys<'a, K, V>
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]);
ⓘImportant traits for Values<'a, K, V>pub fn values(&'a self) -> Values<'a, K, V>
1.0.0[src]
pub fn values(&'a self) -> Values<'a, K, V>
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"]);
ⓘImportant traits for ValuesMut<'a, K, V>pub fn values_mut(&mut self) -> ValuesMut<K, V>
1.10.0[src]
pub fn values_mut(&mut self) -> ValuesMut<K, V>
Gets a mutable 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, String::from("hello")); a.insert(2, String::from("goodbye")); for value in a.values_mut() { value.push_str("!"); } let values: Vec<String> = a.values().cloned().collect(); assert_eq!(values, [String::from("hello!"), String::from("goodbye!")]);
pub fn len(&self) -> usize
1.0.0[src]
pub fn len(&self) -> usize
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);
pub fn is_empty(&self) -> bool
1.0.0[src]
pub fn is_empty(&self) -> bool
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 Default for Languages
[src]
impl Default for Languages
impl IntoIterator for Languages
[src]
impl IntoIterator for Languages
type Item = <BTreeMap<LanguageType, Language> as IntoIterator>::Item
The type of the elements being iterated over.
type IntoIter = <BTreeMap<LanguageType, Language> as IntoIterator>::IntoIter
Which kind of iterator are we turning this into?
fn into_iter(self) -> Self::IntoIter
[src]
fn into_iter(self) -> Self::IntoIter
Creates an iterator from a value. Read more
impl<'a> IntoIterator for &'a Languages
[src]
impl<'a> IntoIterator for &'a Languages
type Item = (&'a LanguageType, &'a Language)
The type of the elements being iterated over.
type IntoIter = Iter<'a, LanguageType, Language>
Which kind of iterator are we turning this into?
fn into_iter(self) -> Self::IntoIter
[src]
fn into_iter(self) -> Self::IntoIter
Creates an iterator from a value. Read more
impl<'a> IntoIterator for &'a mut Languages
[src]
impl<'a> IntoIterator for &'a mut Languages
type Item = (&'a LanguageType, &'a mut Language)
The type of the elements being iterated over.
type IntoIter = IterMut<'a, LanguageType, Language>
Which kind of iterator are we turning this into?
fn into_iter(self) -> Self::IntoIter
[src]
fn into_iter(self) -> Self::IntoIter
Creates an iterator from a value. Read more
impl AddAssign<BTreeMap<LanguageType, Language>> for Languages
[src]
impl AddAssign<BTreeMap<LanguageType, Language>> for Languages
fn add_assign(&mut self, rhs: BTreeMap<LanguageType, Language>)
[src]
fn add_assign(&mut self, rhs: BTreeMap<LanguageType, Language>)
Performs the +=
operation.
impl Deref for Languages
[src]
impl Deref for Languages
type Target = BTreeMap<LanguageType, Language>
The resulting type after dereferencing.
fn deref(&self) -> &Self::Target
[src]
fn deref(&self) -> &Self::Target
Dereferences the value.
impl DerefMut for Languages
[src]
impl DerefMut for Languages
fn deref_mut(&mut self) -> &mut BTreeMap<LanguageType, Language>
[src]
fn deref_mut(&mut self) -> &mut BTreeMap<LanguageType, Language>
Mutably dereferences the value.