ixa::people

Trait Query

Source
pub trait Query: Copy {
    // Required methods
    fn setup(&self, context: &Context);
    fn get_query(&self) -> Vec<(TypeId, IndexValue)>;
}
Expand description

Encapsulates a person query.

Context::query_people actually takes an instance of Query, but because we implement Query for tuples of up to size 20, that’s invisible to the caller. Do not use this trait directly.

Required Methods§

Source

fn setup(&self, context: &Context)

Source

fn get_query(&self) -> Vec<(TypeId, IndexValue)>

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementations on Foreign Types§

Source§

impl Query for ()

Source§

fn setup(&self, _: &Context)

Source§

fn get_query(&self) -> Vec<(TypeId, IndexValue)>

Source§

impl<T0: PersonProperty + 'static> Query for ((T0, T0::Value),)

Source§

fn setup(&self, context: &Context)

Source§

fn get_query(&self) -> Vec<(TypeId, IndexValue)>

Source§

impl<T0: PersonProperty + 'static, T1: PersonProperty + 'static> Query for ((T0, T0::Value), (T1, T1::Value))

Source§

fn setup(&self, context: &Context)

Source§

fn get_query(&self) -> Vec<(TypeId, IndexValue)>

Source§

impl<T0: PersonProperty + 'static, T1: PersonProperty + 'static, T2: PersonProperty + 'static> Query for ((T0, T0::Value), (T1, T1::Value), (T2, T2::Value))

Source§

fn setup(&self, context: &Context)

Source§

fn get_query(&self) -> Vec<(TypeId, IndexValue)>

Source§

impl<T0: PersonProperty + 'static, T1: PersonProperty + 'static, T2: PersonProperty + 'static, T3: PersonProperty + 'static> Query for ((T0, T0::Value), (T1, T1::Value), (T2, T2::Value), (T3, T3::Value))

Source§

fn setup(&self, context: &Context)

Source§

fn get_query(&self) -> Vec<(TypeId, IndexValue)>

Source§

impl<T0: PersonProperty + 'static, T1: PersonProperty + 'static, T2: PersonProperty + 'static, T3: PersonProperty + 'static, T4: PersonProperty + 'static> Query for ((T0, T0::Value), (T1, T1::Value), (T2, T2::Value), (T3, T3::Value), (T4, T4::Value))

Source§

fn setup(&self, context: &Context)

Source§

fn get_query(&self) -> Vec<(TypeId, IndexValue)>

Source§

impl<T0: PersonProperty + 'static, T1: PersonProperty + 'static, T2: PersonProperty + 'static, T3: PersonProperty + 'static, T4: PersonProperty + 'static, T5: PersonProperty + 'static> Query for ((T0, T0::Value), (T1, T1::Value), (T2, T2::Value), (T3, T3::Value), (T4, T4::Value), (T5, T5::Value))

Source§

fn setup(&self, context: &Context)

Source§

fn get_query(&self) -> Vec<(TypeId, IndexValue)>

Source§

impl<T0: PersonProperty + 'static, T1: PersonProperty + 'static, T2: PersonProperty + 'static, T3: PersonProperty + 'static, T4: PersonProperty + 'static, T5: PersonProperty + 'static, T6: PersonProperty + 'static> Query for ((T0, T0::Value), (T1, T1::Value), (T2, T2::Value), (T3, T3::Value), (T4, T4::Value), (T5, T5::Value), (T6, T6::Value))

Source§

fn setup(&self, context: &Context)

Source§

fn get_query(&self) -> Vec<(TypeId, IndexValue)>

Source§

impl<T0: PersonProperty + 'static, T1: PersonProperty + 'static, T2: PersonProperty + 'static, T3: PersonProperty + 'static, T4: PersonProperty + 'static, T5: PersonProperty + 'static, T6: PersonProperty + 'static, T7: PersonProperty + 'static> Query for ((T0, T0::Value), (T1, T1::Value), (T2, T2::Value), (T3, T3::Value), (T4, T4::Value), (T5, T5::Value), (T6, T6::Value), (T7, T7::Value))

Source§

fn setup(&self, context: &Context)

Source§

fn get_query(&self) -> Vec<(TypeId, IndexValue)>

Source§

impl<T0: PersonProperty + 'static, T1: PersonProperty + 'static, T2: PersonProperty + 'static, T3: PersonProperty + 'static, T4: PersonProperty + 'static, T5: PersonProperty + 'static, T6: PersonProperty + 'static, T7: PersonProperty + 'static, T8: PersonProperty + 'static> Query for ((T0, T0::Value), (T1, T1::Value), (T2, T2::Value), (T3, T3::Value), (T4, T4::Value), (T5, T5::Value), (T6, T6::Value), (T7, T7::Value), (T8, T8::Value))

Source§

fn setup(&self, context: &Context)

Source§

fn get_query(&self) -> Vec<(TypeId, IndexValue)>

Source§

impl<T0: PersonProperty + 'static, T1: PersonProperty + 'static, T2: PersonProperty + 'static, T3: PersonProperty + 'static, T4: PersonProperty + 'static, T5: PersonProperty + 'static, T6: PersonProperty + 'static, T7: PersonProperty + 'static, T8: PersonProperty + 'static, T9: PersonProperty + 'static> Query for ((T0, T0::Value), (T1, T1::Value), (T2, T2::Value), (T3, T3::Value), (T4, T4::Value), (T5, T5::Value), (T6, T6::Value), (T7, T7::Value), (T8, T8::Value), (T9, T9::Value))

Source§

fn setup(&self, context: &Context)

Source§

fn get_query(&self) -> Vec<(TypeId, IndexValue)>

Source§

impl<T0: PersonProperty + 'static, T1: PersonProperty + 'static, T2: PersonProperty + 'static, T3: PersonProperty + 'static, T4: PersonProperty + 'static, T5: PersonProperty + 'static, T6: PersonProperty + 'static, T7: PersonProperty + 'static, T8: PersonProperty + 'static, T9: PersonProperty + 'static, T10: PersonProperty + 'static> Query for ((T0, T0::Value), (T1, T1::Value), (T2, T2::Value), (T3, T3::Value), (T4, T4::Value), (T5, T5::Value), (T6, T6::Value), (T7, T7::Value), (T8, T8::Value), (T9, T9::Value), (T10, T10::Value))

Source§

fn setup(&self, context: &Context)

Source§

fn get_query(&self) -> Vec<(TypeId, IndexValue)>

Source§

impl<T0: PersonProperty + 'static, T1: PersonProperty + 'static, T2: PersonProperty + 'static, T3: PersonProperty + 'static, T4: PersonProperty + 'static, T5: PersonProperty + 'static, T6: PersonProperty + 'static, T7: PersonProperty + 'static, T8: PersonProperty + 'static, T9: PersonProperty + 'static, T10: PersonProperty + 'static, T11: PersonProperty + 'static> Query for ((T0, T0::Value), (T1, T1::Value), (T2, T2::Value), (T3, T3::Value), (T4, T4::Value), (T5, T5::Value), (T6, T6::Value), (T7, T7::Value), (T8, T8::Value), (T9, T9::Value), (T10, T10::Value), (T11, T11::Value))

Source§

fn setup(&self, context: &Context)

Source§

fn get_query(&self) -> Vec<(TypeId, IndexValue)>

Source§

impl<T0: PersonProperty + 'static, T1: PersonProperty + 'static, T2: PersonProperty + 'static, T3: PersonProperty + 'static, T4: PersonProperty + 'static, T5: PersonProperty + 'static, T6: PersonProperty + 'static, T7: PersonProperty + 'static, T8: PersonProperty + 'static, T9: PersonProperty + 'static, T10: PersonProperty + 'static, T11: PersonProperty + 'static, T12: PersonProperty + 'static> Query for ((T0, T0::Value), (T1, T1::Value), (T2, T2::Value), (T3, T3::Value), (T4, T4::Value), (T5, T5::Value), (T6, T6::Value), (T7, T7::Value), (T8, T8::Value), (T9, T9::Value), (T10, T10::Value), (T11, T11::Value), (T12, T12::Value))

Source§

fn setup(&self, context: &Context)

Source§

fn get_query(&self) -> Vec<(TypeId, IndexValue)>

Source§

impl<T0: PersonProperty + 'static, T1: PersonProperty + 'static, T2: PersonProperty + 'static, T3: PersonProperty + 'static, T4: PersonProperty + 'static, T5: PersonProperty + 'static, T6: PersonProperty + 'static, T7: PersonProperty + 'static, T8: PersonProperty + 'static, T9: PersonProperty + 'static, T10: PersonProperty + 'static, T11: PersonProperty + 'static, T12: PersonProperty + 'static, T13: PersonProperty + 'static> Query for ((T0, T0::Value), (T1, T1::Value), (T2, T2::Value), (T3, T3::Value), (T4, T4::Value), (T5, T5::Value), (T6, T6::Value), (T7, T7::Value), (T8, T8::Value), (T9, T9::Value), (T10, T10::Value), (T11, T11::Value), (T12, T12::Value), (T13, T13::Value))

Source§

fn setup(&self, context: &Context)

Source§

fn get_query(&self) -> Vec<(TypeId, IndexValue)>

Source§

impl<T0: PersonProperty + 'static, T1: PersonProperty + 'static, T2: PersonProperty + 'static, T3: PersonProperty + 'static, T4: PersonProperty + 'static, T5: PersonProperty + 'static, T6: PersonProperty + 'static, T7: PersonProperty + 'static, T8: PersonProperty + 'static, T9: PersonProperty + 'static, T10: PersonProperty + 'static, T11: PersonProperty + 'static, T12: PersonProperty + 'static, T13: PersonProperty + 'static, T14: PersonProperty + 'static> Query for ((T0, T0::Value), (T1, T1::Value), (T2, T2::Value), (T3, T3::Value), (T4, T4::Value), (T5, T5::Value), (T6, T6::Value), (T7, T7::Value), (T8, T8::Value), (T9, T9::Value), (T10, T10::Value), (T11, T11::Value), (T12, T12::Value), (T13, T13::Value), (T14, T14::Value))

Source§

fn setup(&self, context: &Context)

Source§

fn get_query(&self) -> Vec<(TypeId, IndexValue)>

Source§

impl<T0: PersonProperty + 'static, T1: PersonProperty + 'static, T2: PersonProperty + 'static, T3: PersonProperty + 'static, T4: PersonProperty + 'static, T5: PersonProperty + 'static, T6: PersonProperty + 'static, T7: PersonProperty + 'static, T8: PersonProperty + 'static, T9: PersonProperty + 'static, T10: PersonProperty + 'static, T11: PersonProperty + 'static, T12: PersonProperty + 'static, T13: PersonProperty + 'static, T14: PersonProperty + 'static, T15: PersonProperty + 'static> Query for ((T0, T0::Value), (T1, T1::Value), (T2, T2::Value), (T3, T3::Value), (T4, T4::Value), (T5, T5::Value), (T6, T6::Value), (T7, T7::Value), (T8, T8::Value), (T9, T9::Value), (T10, T10::Value), (T11, T11::Value), (T12, T12::Value), (T13, T13::Value), (T14, T14::Value), (T15, T15::Value))

Source§

fn setup(&self, context: &Context)

Source§

fn get_query(&self) -> Vec<(TypeId, IndexValue)>

Source§

impl<T0: PersonProperty + 'static, T1: PersonProperty + 'static, T2: PersonProperty + 'static, T3: PersonProperty + 'static, T4: PersonProperty + 'static, T5: PersonProperty + 'static, T6: PersonProperty + 'static, T7: PersonProperty + 'static, T8: PersonProperty + 'static, T9: PersonProperty + 'static, T10: PersonProperty + 'static, T11: PersonProperty + 'static, T12: PersonProperty + 'static, T13: PersonProperty + 'static, T14: PersonProperty + 'static, T15: PersonProperty + 'static, T16: PersonProperty + 'static> Query for ((T0, T0::Value), (T1, T1::Value), (T2, T2::Value), (T3, T3::Value), (T4, T4::Value), (T5, T5::Value), (T6, T6::Value), (T7, T7::Value), (T8, T8::Value), (T9, T9::Value), (T10, T10::Value), (T11, T11::Value), (T12, T12::Value), (T13, T13::Value), (T14, T14::Value), (T15, T15::Value), (T16, T16::Value))

Source§

fn setup(&self, context: &Context)

Source§

fn get_query(&self) -> Vec<(TypeId, IndexValue)>

Source§

impl<T0: PersonProperty + 'static, T1: PersonProperty + 'static, T2: PersonProperty + 'static, T3: PersonProperty + 'static, T4: PersonProperty + 'static, T5: PersonProperty + 'static, T6: PersonProperty + 'static, T7: PersonProperty + 'static, T8: PersonProperty + 'static, T9: PersonProperty + 'static, T10: PersonProperty + 'static, T11: PersonProperty + 'static, T12: PersonProperty + 'static, T13: PersonProperty + 'static, T14: PersonProperty + 'static, T15: PersonProperty + 'static, T16: PersonProperty + 'static, T17: PersonProperty + 'static> Query for ((T0, T0::Value), (T1, T1::Value), (T2, T2::Value), (T3, T3::Value), (T4, T4::Value), (T5, T5::Value), (T6, T6::Value), (T7, T7::Value), (T8, T8::Value), (T9, T9::Value), (T10, T10::Value), (T11, T11::Value), (T12, T12::Value), (T13, T13::Value), (T14, T14::Value), (T15, T15::Value), (T16, T16::Value), (T17, T17::Value))

Source§

fn setup(&self, context: &Context)

Source§

fn get_query(&self) -> Vec<(TypeId, IndexValue)>

Source§

impl<T0: PersonProperty + 'static, T1: PersonProperty + 'static, T2: PersonProperty + 'static, T3: PersonProperty + 'static, T4: PersonProperty + 'static, T5: PersonProperty + 'static, T6: PersonProperty + 'static, T7: PersonProperty + 'static, T8: PersonProperty + 'static, T9: PersonProperty + 'static, T10: PersonProperty + 'static, T11: PersonProperty + 'static, T12: PersonProperty + 'static, T13: PersonProperty + 'static, T14: PersonProperty + 'static, T15: PersonProperty + 'static, T16: PersonProperty + 'static, T17: PersonProperty + 'static, T18: PersonProperty + 'static> Query for ((T0, T0::Value), (T1, T1::Value), (T2, T2::Value), (T3, T3::Value), (T4, T4::Value), (T5, T5::Value), (T6, T6::Value), (T7, T7::Value), (T8, T8::Value), (T9, T9::Value), (T10, T10::Value), (T11, T11::Value), (T12, T12::Value), (T13, T13::Value), (T14, T14::Value), (T15, T15::Value), (T16, T16::Value), (T17, T17::Value), (T18, T18::Value))

Source§

fn setup(&self, context: &Context)

Source§

fn get_query(&self) -> Vec<(TypeId, IndexValue)>

Source§

impl<T1: PersonProperty + 'static> Query for (T1, T1::Value)

Source§

fn setup(&self, context: &Context)

Source§

fn get_query(&self) -> Vec<(TypeId, IndexValue)>

Implementors§

Source§

impl<Q1, Q2> Query for QueryAnd<Q1, Q2>
where Q1: Query, Q2: Query,