[][src]Struct xkb_parser::ast::KeyCombo

pub struct KeyCombo<'src> {
    pub content: Vec<Ident<'src>>,
}

Fields

content: Vec<Ident<'src>>

Methods

impl<'src> KeyCombo<'src>[src]

pub fn map<__SHRINKWRAP_T, __SHRINKWRAP_F: FnMut(Vec<Ident<'src>>) -> __SHRINKWRAP_T>(
    self,
    f: __SHRINKWRAP_F
) -> __SHRINKWRAP_T
[src]

Map a function over the wrapped value, consuming it in the process.

pub fn map_ref<__SHRINKWRAP_T, __SHRINKWRAP_F: FnMut(&Vec<Ident<'src>>) -> __SHRINKWRAP_T>(
    &self,
    f: __SHRINKWRAP_F
) -> __SHRINKWRAP_T
[src]

Map a function over the wrapped value without consuming it.

pub fn map_mut<__SHRINKWRAP_T, __SHRINKWRAP_F>(
    &mut self,
    f: __SHRINKWRAP_F
) -> __SHRINKWRAP_T where
    __SHRINKWRAP_F: FnMut(&mut Vec<Ident<'src>>) -> __SHRINKWRAP_T, 
[src]

Map a function over the wrapped value, potentially changing it in place.

Methods from Deref<Target = Vec<Ident<'src>>>

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<'src> Clone for KeyCombo<'src>[src]

fn clone_from(&mut self, source: &Self)1.0.0[src]

Performs copy-assignment from source. Read more

impl<'src> AsRef<Vec<Ident<'src>>> for KeyCombo<'src>[src]

impl<'src> PartialEq<KeyCombo<'src>> for KeyCombo<'src>[src]

impl<'src> Deref for KeyCombo<'src>[src]

type Target = Vec<Ident<'src>>

The resulting type after dereferencing.

impl<'src> Debug for KeyCombo<'src>[src]

impl<'src> Borrow<Vec<Ident<'src>>> for KeyCombo<'src>[src]

impl<'src> FromPest<'src> for KeyCombo<'src>[src]

type Rule = Rule

The rule type for the parse tree this type corresponds to.

type FatalError = Void

A fatal error during conversion.

Auto Trait Implementations

impl<'src> Unpin for KeyCombo<'src>

impl<'src> Sync for KeyCombo<'src>

impl<'src> Send for KeyCombo<'src>

impl<'src> UnwindSafe for KeyCombo<'src>

impl<'src> RefUnwindSafe for KeyCombo<'src>

Blanket Implementations

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

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

type Owned = T

The resulting type after obtaining ownership.

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

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> Borrow<T> for T where
    T: ?Sized
[src]

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

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