[]Struct fluence_app_service::vec1::Vec1

pub struct Vec1<T>(_)
where
    T: Debug
;

Vec1<T> represents a non-empty Vec<T>. It derefs to Vec<T> directly.

Implementations

impl<T> Vec1<T> where
    T: Debug

pub fn new(items: Vec<T, Global>) -> Result<Vec1<T>, EmptyVec>

Creates a new non-empty vector, based on an inner Vec<T>. If the inner vector is empty, a EmptyVec error is returned.

pub fn into_vec(self) -> Vec<T, Global>

Notable traits for Vec<u8, Global>

impl Write for Vec<u8, Global>

Converts this Vec1 into Vec

Methods from Deref<Target = Vec<T, Global>>

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 allocator(&self) -> &A[src]

🔬 This is a nightly-only experimental API. (allocator_api)

Returns a reference to the underlying allocator.

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> Clone for Vec1<T> where
    T: Clone + Debug

impl<T> Debug for Vec1<T> where
    T: Debug

impl<T> Default for Vec1<T> where
    T: Default + Debug

impl<T> Deref for Vec1<T> where
    T: Debug

type Target = Vec<T, Global>

The resulting type after dereferencing.

impl<'de, T> Deserialize<'de> for Vec1<T> where
    T: Debug + Deserialize<'de>, 

impl<T> Eq for Vec1<T> where
    T: Eq + Debug

impl<T> Hash for Vec1<T> where
    T: Hash + Debug

impl<T> PartialEq<Vec1<T>> for Vec1<T> where
    T: PartialEq<T> + Debug

impl<T> Serialize for Vec1<T> where
    T: Debug + Serialize

impl<T> StructuralEq for Vec1<T> where
    T: Debug

impl<T> StructuralPartialEq for Vec1<T> where
    T: Debug

Auto Trait Implementations

impl<T> RefUnwindSafe for Vec1<T> where
    T: RefUnwindSafe
[src]

impl<T> Send for Vec1<T> where
    T: Send
[src]

impl<T> Sync for Vec1<T> where
    T: Sync
[src]

impl<T> Unpin for Vec1<T> where
    T: Unpin
[src]

impl<T> UnwindSafe for Vec1<T> where
    T: UnwindSafe
[src]

Blanket Implementations

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

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

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

impl<T> DeserializeOwned for T where
    T: for<'de> Deserialize<'de>, 
[src]

impl<Q, K> Equivalent<K> for Q where
    K: Borrow<Q> + ?Sized,
    Q: Eq + ?Sized
[src]

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

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

impl<T> Pointable for T

type Init = T

The type for initializers.

impl<T> Same<T> for T

type Output = T

Should always be Self

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

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.