fn from_iter<I: IntoIterator<Item=T>>(it: I) -> Self {
        let mut v = Counter::default();
        v.extend(it);
        v
    }
/// Creates a new Counter from an iterable.
///
/// Rather than initialise and extend the counter as two
/// steps, you can perform it in one.
/// This enables some syntactic sugar via the `.collect()` method and 
/// the object is not mutable.
/// 
/// Note. To use the `::from_iter` form, you must explicitly use the
/// FromIterator trait. The `collect()` version does not need this.
///
/// # Examples
///
/// ```rust
/// use countrs::Counter;
/// use std::iter::FromIterator;
/// 
/// let c1 = Counter::from_iter("aaabbbc".chars());
/// assert_eq!(c1.count(&'b'), 3);
///
/// let c2: Counter<char> = "aaabbbc".chars().collect();
/// assert_eq!(c2.count(&'b'), 3);
/// ```
Creates a new Counter from an iterable.
Rather than initialise and extend the counter as two
steps, you can perform it in one.
This enables some syntactic sugar via the `.collect()` method and
the object is not mutable.

Note. To use the `::from_iter` form, you must explicitly use the
FromIterator trait. The `collect()` version does not need this.
Creates a new Counter from an iterable . Rather than initialise and extend the counter as two steps you can perform it in one . This enables some syntactic sugar via the ` . collect () ` method and the object is not mutable . Note . To use the ` :: from_iter ` form you must explicitly use the FromIterator trait . The ` collect () ` version does not need this .
fn from_iter<I: IntoIterator<Item=T>>(it: I) -> Self {
        let mut v = Counter::default();
        v.extend(it);
        v
    }
fn from_iter < I : IntoIterator < Item = T > > ( it : I ) -> Self { let mut v = Counter :: default ( ) ; v . extend ( it ) ; v }
Creates a new Counter from an iterable.
Creates a new Counter from an iterable .
it
I
it
I
examples
```rust
use countrs::Counter;
use std::iter::FromIterator.




` ` ` rust use countrs :: Counter ; use std :: iter :: FromIterator .