Struct rustc_trans::middle::subst::VecPerParamSpaceExperimental [-]  [+] [src]

pub struct VecPerParamSpace<T> {
    // some fields omitted
}

Vector of things sorted by param space. Used to keep the set of things declared on the type, self, or method distinct.

Methods

impl<T> VecPerParamSpace<T>

fn empty() -> VecPerParamSpace<T>

fn params_from_type(types: Vec<T>) -> VecPerParamSpace<T>

fn new(t: Vec<T>, s: Vec<T>, f: Vec<T>) -> VecPerParamSpace<T>

t is the type space. s is the self space. a is the assoc space. f is the fn space.

fn push(&mut self, space: ParamSpace, value: T)

Appends value to the vector associated with space.

Unlike the push method in Vec, this should not be assumed to be a cheap operation (even when amortized over many calls).

fn pop(&mut self, space: ParamSpace) -> Option<T>

fn truncate(&mut self, space: ParamSpace, len: uint)

fn replace(&mut self, space: ParamSpace, elems: Vec<T>)

fn get_self(&'a self) -> Option<&'a T>

fn len(&self, space: ParamSpace) -> uint

fn is_empty_in(&self, space: ParamSpace) -> bool

fn get_slice(&'a self, space: ParamSpace) -> &'a [T]

fn get_mut_slice(&'a mut self, space: ParamSpace) -> &'a mut [T]

fn opt_get(&'a self, space: ParamSpace, index: uint) -> Option<&'a T>

fn get(&'a self, space: ParamSpace, index: uint) -> &'a T

fn iter(&'a self) -> Iter<'a, T>

fn iter_enumerated(&'a self) -> EnumeratedItems<'a, T>

fn as_slice(&self) -> &[T]

fn to_vec(self) -> Vec<T>

fn all_vecs<P>(&self, pred: P) -> bool

fn all<P>(&self, pred: P) -> bool

fn any<P>(&self, pred: P) -> bool

fn is_empty(&self) -> bool

fn map<U, P>(&self, pred: P) -> VecPerParamSpace<U>

fn map_enumerated<U, P>(&self, pred: P) -> VecPerParamSpace<U>

fn map_move<U, F>(self, pred: F) -> VecPerParamSpace<U>

fn split(self) -> SeparateVecsPerParamSpace<T>

fn with_vec(self, space: ParamSpace, vec: Vec<T>) -> VecPerParamSpace<T>

Trait Implementations

impl<T: Show> Show for VecPerParamSpace<T>

fn fmt(&self, fmt: &mut Formatter) -> Result<(), Error>

impl<'tcx, T: RegionEscape> RegionEscape for VecPerParamSpace<T>

fn has_regions_escaping_depth(&self, depth: u32) -> bool

fn has_escaping_regions(&self) -> bool

impl<'tcx, T: HasProjectionTypes> HasProjectionTypes for VecPerParamSpace<T>

fn has_projection_types(&self) -> bool

impl<'tcx, T: TypeFoldable<'tcx>> TypeFoldable<'tcx> for VecPerParamSpace<T>

fn fold_with<F: TypeFolder<'tcx>>(&self, folder: &mut F) -> VecPerParamSpace<T>

impl<'tcx, T: Repr<'tcx>> Repr<'tcx> for VecPerParamSpace<T>

fn repr(&self, tcx: &ctxt<'tcx>) -> String

Derived Implementations

impl<__D: Decoder<__E>, __E, T: Decodable<__D, __E>> Decodable<__D, __E> for VecPerParamSpace<T>

fn decode(__arg_0: &mut __D) -> Result<VecPerParamSpace<T>, __E>

impl<__S: Encoder<__E>, __E, T: Encodable<__S, __E>> Encodable<__S, __E> for VecPerParamSpace<T>

fn encode(&self, __arg_0: &mut __S) -> Result<(), __E>

impl<__S: Writer, T: Hash<__S>> Hash<__S> for VecPerParamSpace<T>

fn hash(&self, __arg_0: &mut __S)

impl<T: Clone> Clone for VecPerParamSpace<T>

fn clone(&self) -> VecPerParamSpace<T>

fn clone_from(&mut self, &VecPerParamSpace<T>)

impl<T: Eq> Eq for VecPerParamSpace<T>

fn assert_receiver_is_total_eq(&self)

impl<T: PartialEq<T>> PartialEq<VecPerParamSpace<T>> for VecPerParamSpace<T>

fn eq(&self, __arg_0: &VecPerParamSpace<T>) -> bool

fn ne(&self, __arg_0: &VecPerParamSpace<T>) -> bool

fn ne(&self, &VecPerParamSpace<T>) -> bool