Struct rustc::middle::subst::VecPerParamSpace[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>

fn sort(t: Vec<T>, space: |&T| -> ParamSpace) -> VecPerParamSpace<T>

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

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

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

fn get_vec<'a>(&'a self, space: ParamSpace) -> &'a Vec<T>

fn get_mut_vec<'a>(&'a mut self, space: ParamSpace) -> &'a mut Vec<T>

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

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

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

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

fn all_vecs(&self, pred: |&Vec<T>| -> bool) -> bool

fn all(&self, pred: |&T| -> bool) -> bool

fn any(&self, pred: |&T| -> bool) -> bool

fn is_empty(&self) -> bool

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

fn map_rev<U>(&self, pred: |&T| -> U) -> VecPerParamSpace<U>

Executes the map but in reverse order. For hacky reasons, we rely on this in table.

FIXME(#5527) -- order of eval becomes irrelevant with newer trait reform, which features an idempotent algorithm that can be run to a fixed point

fn split(self) -> (Vec<T>, Vec<T>, Vec<T>)

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

Trait Implementations

impl<T: TypeFoldable> TypeFoldable for VecPerParamSpace<T>

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

impl<T: Repr> Repr for VecPerParamSpace<T>

fn repr(&self, tcx: &ctxt) -> 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, source: &Self)

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

fn assert_receiver_is_total_eq(&self)

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

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

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