[][src]Struct safe_index::examples::clients::idx::Clients

pub struct Clients<T> { /* fields omitted */ }

Map from clients to something.

Methods

impl<T> Clients<T>[src]

pub fn of(vec: Vec<T>) -> Self[src]

Creates an empty map from an existing one.

pub fn new() -> Self[src]

Creates an empty map.

pub fn with_capacity(capacity: usize) -> Self[src]

Creates an empty map with some capacity.

pub fn len(&self) -> usize[src]

Number of elements in the map.

pub fn capacity(&self) -> usize[src]

Capacity of the map.

pub fn next_index(&self) -> Client[src]

The next free index (wrapped self.len()).

pub fn last_index(&self) -> Option<Client>[src]

The last index in the map.

pub fn push(&mut self, elem: T) -> Client[src]

Pushes an element.

pub fn pop(&mut self) -> Option<T>[src]

Pops an element.

pub fn clear(&mut self)[src]

Clears a map.

pub fn iter(&self) -> Iter<T>[src]

Iterates over the elements.

Important traits for ClientIter<&'a Clients<T>>
pub fn index_iter<'a>(&'a self) -> ClientIter<&'a Clients<T>> where
    T: 'a, 
[src]

Iterates over the elements with the index.

Important traits for ClientIter<&'a Clients<T>>
pub fn index_iter_mut<'a>(&'a mut self) -> ClientIter<IterMut<'a, T>> where
    T: 'a, 
[src]

Iterates over the elements with the index, mutable version.

Important traits for ClientIter<&'a Clients<T>>
pub fn into_index_iter(self) -> ClientIter<Clients<T>>[src]

Iterates over the elements with the index.

pub fn iter_mut(&mut self) -> IterMut<T>[src]

Iterates over the elements (mutable version).

pub fn shrink_to_fit(&mut self)[src]

Shrinks the capacity as much as possible.

pub fn swap(&mut self, a: Client, b: Client)[src]

Swap from Vec.

pub fn swap_remove(&mut self, idx: Client) -> T[src]

Swap remove from Vec.

impl<T: Clone> Clients<T>[src]

pub fn of_elems(elem: T, size: usize) -> Self[src]

Creates an empty vector with some capacity.

Methods from Deref<Target = Vec<T>>

pub fn capacity(&self) -> usize1.0.0[src]

Returns the number of elements the vector can hold without reallocating.

Examples

let vec: Vec<i32> = Vec::with_capacity(10);
assert_eq!(vec.capacity(), 10);

pub fn as_slice(&self) -> &[T]1.7.0[src]

Extracts a slice containing the entire vector.

Equivalent to &s[..].

Examples

use std::io::{self, Write};
let buffer = vec![1, 2, 3, 5, 8];
io::sink().write(buffer.as_slice()).unwrap();

pub fn as_ptr(&self) -> *const T1.37.0[src]

Returns a raw pointer to the vector's buffer.

The caller must ensure that the vector outlives the pointer this function returns, or else it will end up pointing to garbage. Modifying the vector may cause its buffer to be reallocated, which would also make any pointers to it invalid.

The caller must also ensure that the memory the pointer (non-transitively) points to is never written to (except inside an UnsafeCell) using this pointer or any pointer derived from it. If you need to mutate the contents of the slice, use as_mut_ptr.

Examples

let x = vec![1, 2, 4];
let x_ptr = x.as_ptr();

unsafe {
    for i in 0..x.len() {
        assert_eq!(*x_ptr.add(i), 1 << i);
    }
}

pub fn len(&self) -> usize1.0.0[src]

Returns the number of elements in the vector, also referred to as its 'length'.

Examples

let a = vec![1, 2, 3];
assert_eq!(a.len(), 3);

pub fn is_empty(&self) -> bool1.0.0[src]

Returns true if the vector contains no elements.

Examples

let mut v = Vec::new();
assert!(v.is_empty());

v.push(1);
assert!(!v.is_empty());

Trait Implementations

impl<T> From<Vec<T>> for Clients<T>[src]

impl<T: Clone> Clone for Clients<T>[src]

impl<T> Default for Clients<T>[src]

impl<T: PartialOrd> PartialOrd<Clients<T>> for Clients<T>[src]

impl<T: Eq> Eq for Clients<T>[src]

impl<T: Ord> Ord for Clients<T>[src]

impl<T> IntoIterator for Clients<T>[src]

type Item = T

The type of the elements being iterated over.

type IntoIter = IntoIter<T>

Which kind of iterator are we turning this into?

impl<'a, T> IntoIterator for &'a Clients<T>[src]

type Item = &'a T

The type of the elements being iterated over.

type IntoIter = Iter<'a, T>

Which kind of iterator are we turning this into?

impl<'a, T> IntoIterator for &'a mut Clients<T>[src]

type Item = &'a mut T

The type of the elements being iterated over.

type IntoIter = IterMut<'a, T>

Which kind of iterator are we turning this into?

impl<T: PartialEq> PartialEq<Clients<T>> for Clients<T>[src]

impl<T> Deref for Clients<T>[src]

type Target = Vec<T>

The resulting type after dereferencing.

impl<T: Debug> Debug for Clients<T>[src]

impl<T> Index<Client> for Clients<T>[src]

type Output = T

The returned type after indexing.

impl<T> Index<Range<usize>> for Clients<T>[src]

type Output = [T]

The returned type after indexing.

impl<T> Index<RangeInclusive<usize>> for Clients<T>[src]

type Output = [T]

The returned type after indexing.

impl<T> Index<RangeFrom<usize>> for Clients<T>[src]

type Output = [T]

The returned type after indexing.

impl<T> Index<RangeTo<usize>> for Clients<T>[src]

type Output = [T]

The returned type after indexing.

impl<T> IndexMut<Client> for Clients<T>[src]

impl<T> FromIterator<T> for Clients<T>[src]

Auto Trait Implementations

impl<T> Send for Clients<T> where
    T: Send

impl<T> Sync for Clients<T> where
    T: Sync

impl<T> Unpin for Clients<T> where
    T: Unpin

impl<T> RefUnwindSafe for Clients<T> where
    T: RefUnwindSafe

impl<T> UnwindSafe for Clients<T> where
    T: UnwindSafe

Blanket Implementations

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<I> IntoIterator for I where
    I: Iterator
[src]

type Item = <I as Iterator>::Item

The type of the elements being iterated over.

type IntoIter = I

Which kind of iterator are we turning this into?

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> Any for T where
    T: 'static + ?Sized
[src]