pub trait InterfaceList<T: ObjectSubclass> {
    // Required methods
    fn iface_infos() -> Vec<(GType, GInterfaceInfo)>;
    fn instance_init(_instance: &mut InitializingObject<T>);
}
Expand description

Trait for a type list of interfaces.

Required Methods§

source

fn iface_infos() -> Vec<(GType, GInterfaceInfo)>

Returns the list of types and corresponding interface infos for this list.

source

fn instance_init(_instance: &mut InitializingObject<T>)

Runs instance_init on each of the IsImplementable items.

Implementations on Foreign Types§

source§

impl<T: ObjectSubclass, A: IsImplementable<T>, B: IsImplementable<T>, C: IsImplementable<T>, D: IsImplementable<T>, E: IsImplementable<T>> InterfaceList<T> for (A, B, C, D, E)where <A as ObjectType>::GlibClassType: Copy, <B as ObjectType>::GlibClassType: Copy, <C as ObjectType>::GlibClassType: Copy, <D as ObjectType>::GlibClassType: Copy, <E as ObjectType>::GlibClassType: Copy,

source§

fn iface_infos() -> Vec<(GType, GInterfaceInfo)>

source§

fn instance_init(instance: &mut InitializingObject<T>)

source§

impl<T: ObjectSubclass, A: IsImplementable<T>, B: IsImplementable<T>, C: IsImplementable<T>, D: IsImplementable<T>, E: IsImplementable<T>, F: IsImplementable<T>, G: IsImplementable<T>, H: IsImplementable<T>, I: IsImplementable<T>, J: IsImplementable<T>, K: IsImplementable<T>, L: IsImplementable<T>, M: IsImplementable<T>> InterfaceList<T> for (A, B, C, D, E, F, G, H, I, J, K, L, M)where <A as ObjectType>::GlibClassType: Copy, <B as ObjectType>::GlibClassType: Copy, <C as ObjectType>::GlibClassType: Copy, <D as ObjectType>::GlibClassType: Copy, <E as ObjectType>::GlibClassType: Copy, <F as ObjectType>::GlibClassType: Copy, <G as ObjectType>::GlibClassType: Copy, <H as ObjectType>::GlibClassType: Copy, <I as ObjectType>::GlibClassType: Copy, <J as ObjectType>::GlibClassType: Copy, <K as ObjectType>::GlibClassType: Copy, <L as ObjectType>::GlibClassType: Copy, <M as ObjectType>::GlibClassType: Copy,

source§

fn iface_infos() -> Vec<(GType, GInterfaceInfo)>

source§

fn instance_init(instance: &mut InitializingObject<T>)

source§

impl<T: ObjectSubclass, A: IsImplementable<T>, B: IsImplementable<T>, C: IsImplementable<T>, D: IsImplementable<T>> InterfaceList<T> for (A, B, C, D)where <A as ObjectType>::GlibClassType: Copy, <B as ObjectType>::GlibClassType: Copy, <C as ObjectType>::GlibClassType: Copy, <D as ObjectType>::GlibClassType: Copy,

source§

fn iface_infos() -> Vec<(GType, GInterfaceInfo)>

source§

fn instance_init(instance: &mut InitializingObject<T>)

source§

impl<T: ObjectSubclass> InterfaceList<T> for ()

source§

fn iface_infos() -> Vec<(GType, GInterfaceInfo)>

source§

fn instance_init(_instance: &mut InitializingObject<T>)

source§

impl<T: ObjectSubclass, A: IsImplementable<T>, B: IsImplementable<T>, C: IsImplementable<T>, D: IsImplementable<T>, E: IsImplementable<T>, F: IsImplementable<T>, G: IsImplementable<T>, H: IsImplementable<T>, I: IsImplementable<T>, J: IsImplementable<T>> InterfaceList<T> for (A, B, C, D, E, F, G, H, I, J)where <A as ObjectType>::GlibClassType: Copy, <B as ObjectType>::GlibClassType: Copy, <C as ObjectType>::GlibClassType: Copy, <D as ObjectType>::GlibClassType: Copy, <E as ObjectType>::GlibClassType: Copy, <F as ObjectType>::GlibClassType: Copy, <G as ObjectType>::GlibClassType: Copy, <H as ObjectType>::GlibClassType: Copy, <I as ObjectType>::GlibClassType: Copy, <J as ObjectType>::GlibClassType: Copy,

source§

fn iface_infos() -> Vec<(GType, GInterfaceInfo)>

source§

fn instance_init(instance: &mut InitializingObject<T>)

source§

impl<T: ObjectSubclass, A: IsImplementable<T>, B: IsImplementable<T>> InterfaceList<T> for (A, B)where <A as ObjectType>::GlibClassType: Copy, <B as ObjectType>::GlibClassType: Copy,

source§

fn iface_infos() -> Vec<(GType, GInterfaceInfo)>

source§

fn instance_init(instance: &mut InitializingObject<T>)

source§

impl<T: ObjectSubclass, A: IsImplementable<T>, B: IsImplementable<T>, C: IsImplementable<T>, D: IsImplementable<T>, E: IsImplementable<T>, F: IsImplementable<T>, G: IsImplementable<T>, H: IsImplementable<T>, I: IsImplementable<T>, J: IsImplementable<T>, K: IsImplementable<T>> InterfaceList<T> for (A, B, C, D, E, F, G, H, I, J, K)where <A as ObjectType>::GlibClassType: Copy, <B as ObjectType>::GlibClassType: Copy, <C as ObjectType>::GlibClassType: Copy, <D as ObjectType>::GlibClassType: Copy, <E as ObjectType>::GlibClassType: Copy, <F as ObjectType>::GlibClassType: Copy, <G as ObjectType>::GlibClassType: Copy, <H as ObjectType>::GlibClassType: Copy, <I as ObjectType>::GlibClassType: Copy, <J as ObjectType>::GlibClassType: Copy, <K as ObjectType>::GlibClassType: Copy,

source§

fn iface_infos() -> Vec<(GType, GInterfaceInfo)>

source§

fn instance_init(instance: &mut InitializingObject<T>)

source§

impl<T: ObjectSubclass, A: IsImplementable<T>, B: IsImplementable<T>, C: IsImplementable<T>, D: IsImplementable<T>, E: IsImplementable<T>, F: IsImplementable<T>, G: IsImplementable<T>, H: IsImplementable<T>, I: IsImplementable<T>, J: IsImplementable<T>, K: IsImplementable<T>, L: IsImplementable<T>, M: IsImplementable<T>, N: IsImplementable<T>, O: IsImplementable<T>, P: IsImplementable<T>, Q: IsImplementable<T>, R: IsImplementable<T>, S: IsImplementable<T>> InterfaceList<T> for (A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S)where <A as ObjectType>::GlibClassType: Copy, <B as ObjectType>::GlibClassType: Copy, <C as ObjectType>::GlibClassType: Copy, <D as ObjectType>::GlibClassType: Copy, <E as ObjectType>::GlibClassType: Copy, <F as ObjectType>::GlibClassType: Copy, <G as ObjectType>::GlibClassType: Copy, <H as ObjectType>::GlibClassType: Copy, <I as ObjectType>::GlibClassType: Copy, <J as ObjectType>::GlibClassType: Copy, <K as ObjectType>::GlibClassType: Copy, <L as ObjectType>::GlibClassType: Copy, <M as ObjectType>::GlibClassType: Copy, <N as ObjectType>::GlibClassType: Copy, <O as ObjectType>::GlibClassType: Copy, <P as ObjectType>::GlibClassType: Copy, <Q as ObjectType>::GlibClassType: Copy, <R as ObjectType>::GlibClassType: Copy, <S as ObjectType>::GlibClassType: Copy,

source§

fn iface_infos() -> Vec<(GType, GInterfaceInfo)>

source§

fn instance_init(instance: &mut InitializingObject<T>)

source§

impl<T: ObjectSubclass, A: IsImplementable<T>, B: IsImplementable<T>, C: IsImplementable<T>, D: IsImplementable<T>, E: IsImplementable<T>, F: IsImplementable<T>> InterfaceList<T> for (A, B, C, D, E, F)where <A as ObjectType>::GlibClassType: Copy, <B as ObjectType>::GlibClassType: Copy, <C as ObjectType>::GlibClassType: Copy, <D as ObjectType>::GlibClassType: Copy, <E as ObjectType>::GlibClassType: Copy, <F as ObjectType>::GlibClassType: Copy,

source§

fn iface_infos() -> Vec<(GType, GInterfaceInfo)>

source§

fn instance_init(instance: &mut InitializingObject<T>)

source§

impl<T: ObjectSubclass, A: IsImplementable<T>, B: IsImplementable<T>, C: IsImplementable<T>, D: IsImplementable<T>, E: IsImplementable<T>, F: IsImplementable<T>, G: IsImplementable<T>, H: IsImplementable<T>, I: IsImplementable<T>, J: IsImplementable<T>, K: IsImplementable<T>, L: IsImplementable<T>, M: IsImplementable<T>, N: IsImplementable<T>, O: IsImplementable<T>, P: IsImplementable<T>> InterfaceList<T> for (A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P)where <A as ObjectType>::GlibClassType: Copy, <B as ObjectType>::GlibClassType: Copy, <C as ObjectType>::GlibClassType: Copy, <D as ObjectType>::GlibClassType: Copy, <E as ObjectType>::GlibClassType: Copy, <F as ObjectType>::GlibClassType: Copy, <G as ObjectType>::GlibClassType: Copy, <H as ObjectType>::GlibClassType: Copy, <I as ObjectType>::GlibClassType: Copy, <J as ObjectType>::GlibClassType: Copy, <K as ObjectType>::GlibClassType: Copy, <L as ObjectType>::GlibClassType: Copy, <M as ObjectType>::GlibClassType: Copy, <N as ObjectType>::GlibClassType: Copy, <O as ObjectType>::GlibClassType: Copy, <P as ObjectType>::GlibClassType: Copy,

source§

fn iface_infos() -> Vec<(GType, GInterfaceInfo)>

source§

fn instance_init(instance: &mut InitializingObject<T>)

source§

impl<T: ObjectSubclass, A: IsImplementable<T>, B: IsImplementable<T>, C: IsImplementable<T>, D: IsImplementable<T>, E: IsImplementable<T>, F: IsImplementable<T>, G: IsImplementable<T>, H: IsImplementable<T>, I: IsImplementable<T>> InterfaceList<T> for (A, B, C, D, E, F, G, H, I)where <A as ObjectType>::GlibClassType: Copy, <B as ObjectType>::GlibClassType: Copy, <C as ObjectType>::GlibClassType: Copy, <D as ObjectType>::GlibClassType: Copy, <E as ObjectType>::GlibClassType: Copy, <F as ObjectType>::GlibClassType: Copy, <G as ObjectType>::GlibClassType: Copy, <H as ObjectType>::GlibClassType: Copy, <I as ObjectType>::GlibClassType: Copy,

source§

fn iface_infos() -> Vec<(GType, GInterfaceInfo)>

source§

fn instance_init(instance: &mut InitializingObject<T>)

source§

impl<T: ObjectSubclass, A: IsImplementable<T>, B: IsImplementable<T>, C: IsImplementable<T>, D: IsImplementable<T>, E: IsImplementable<T>, F: IsImplementable<T>, G: IsImplementable<T>, H: IsImplementable<T>, I: IsImplementable<T>, J: IsImplementable<T>, K: IsImplementable<T>, L: IsImplementable<T>, M: IsImplementable<T>, N: IsImplementable<T>, O: IsImplementable<T>, P: IsImplementable<T>, Q: IsImplementable<T>> InterfaceList<T> for (A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q)where <A as ObjectType>::GlibClassType: Copy, <B as ObjectType>::GlibClassType: Copy, <C as ObjectType>::GlibClassType: Copy, <D as ObjectType>::GlibClassType: Copy, <E as ObjectType>::GlibClassType: Copy, <F as ObjectType>::GlibClassType: Copy, <G as ObjectType>::GlibClassType: Copy, <H as ObjectType>::GlibClassType: Copy, <I as ObjectType>::GlibClassType: Copy, <J as ObjectType>::GlibClassType: Copy, <K as ObjectType>::GlibClassType: Copy, <L as ObjectType>::GlibClassType: Copy, <M as ObjectType>::GlibClassType: Copy, <N as ObjectType>::GlibClassType: Copy, <O as ObjectType>::GlibClassType: Copy, <P as ObjectType>::GlibClassType: Copy, <Q as ObjectType>::GlibClassType: Copy,

source§

fn iface_infos() -> Vec<(GType, GInterfaceInfo)>

source§

fn instance_init(instance: &mut InitializingObject<T>)

source§

impl<T: ObjectSubclass, A: IsImplementable<T>> InterfaceList<T> for (A,)where <A as ObjectType>::GlibClassType: Copy,

source§

fn iface_infos() -> Vec<(GType, GInterfaceInfo)>

source§

fn instance_init(instance: &mut InitializingObject<T>)

source§

impl<T: ObjectSubclass, A: IsImplementable<T>, B: IsImplementable<T>, C: IsImplementable<T>, D: IsImplementable<T>, E: IsImplementable<T>, F: IsImplementable<T>, G: IsImplementable<T>, H: IsImplementable<T>, I: IsImplementable<T>, J: IsImplementable<T>, K: IsImplementable<T>, L: IsImplementable<T>, M: IsImplementable<T>, N: IsImplementable<T>> InterfaceList<T> for (A, B, C, D, E, F, G, H, I, J, K, L, M, N)where <A as ObjectType>::GlibClassType: Copy, <B as ObjectType>::GlibClassType: Copy, <C as ObjectType>::GlibClassType: Copy, <D as ObjectType>::GlibClassType: Copy, <E as ObjectType>::GlibClassType: Copy, <F as ObjectType>::GlibClassType: Copy, <G as ObjectType>::GlibClassType: Copy, <H as ObjectType>::GlibClassType: Copy, <I as ObjectType>::GlibClassType: Copy, <J as ObjectType>::GlibClassType: Copy, <K as ObjectType>::GlibClassType: Copy, <L as ObjectType>::GlibClassType: Copy, <M as ObjectType>::GlibClassType: Copy, <N as ObjectType>::GlibClassType: Copy,

source§

fn iface_infos() -> Vec<(GType, GInterfaceInfo)>

source§

fn instance_init(instance: &mut InitializingObject<T>)

source§

impl<T: ObjectSubclass, A: IsImplementable<T>, B: IsImplementable<T>, C: IsImplementable<T>, D: IsImplementable<T>, E: IsImplementable<T>, F: IsImplementable<T>, G: IsImplementable<T>, H: IsImplementable<T>, I: IsImplementable<T>, J: IsImplementable<T>, K: IsImplementable<T>, L: IsImplementable<T>, M: IsImplementable<T>, N: IsImplementable<T>, O: IsImplementable<T>, P: IsImplementable<T>, Q: IsImplementable<T>, R: IsImplementable<T>> InterfaceList<T> for (A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R)where <A as ObjectType>::GlibClassType: Copy, <B as ObjectType>::GlibClassType: Copy, <C as ObjectType>::GlibClassType: Copy, <D as ObjectType>::GlibClassType: Copy, <E as ObjectType>::GlibClassType: Copy, <F as ObjectType>::GlibClassType: Copy, <G as ObjectType>::GlibClassType: Copy, <H as ObjectType>::GlibClassType: Copy, <I as ObjectType>::GlibClassType: Copy, <J as ObjectType>::GlibClassType: Copy, <K as ObjectType>::GlibClassType: Copy, <L as ObjectType>::GlibClassType: Copy, <M as ObjectType>::GlibClassType: Copy, <N as ObjectType>::GlibClassType: Copy, <O as ObjectType>::GlibClassType: Copy, <P as ObjectType>::GlibClassType: Copy, <Q as ObjectType>::GlibClassType: Copy, <R as ObjectType>::GlibClassType: Copy,

source§

fn iface_infos() -> Vec<(GType, GInterfaceInfo)>

source§

fn instance_init(instance: &mut InitializingObject<T>)

source§

impl<T: ObjectSubclass, A: IsImplementable<T>, B: IsImplementable<T>, C: IsImplementable<T>, D: IsImplementable<T>, E: IsImplementable<T>, F: IsImplementable<T>, G: IsImplementable<T>, H: IsImplementable<T>, I: IsImplementable<T>, J: IsImplementable<T>, K: IsImplementable<T>, L: IsImplementable<T>, M: IsImplementable<T>, N: IsImplementable<T>, O: IsImplementable<T>> InterfaceList<T> for (A, B, C, D, E, F, G, H, I, J, K, L, M, N, O)where <A as ObjectType>::GlibClassType: Copy, <B as ObjectType>::GlibClassType: Copy, <C as ObjectType>::GlibClassType: Copy, <D as ObjectType>::GlibClassType: Copy, <E as ObjectType>::GlibClassType: Copy, <F as ObjectType>::GlibClassType: Copy, <G as ObjectType>::GlibClassType: Copy, <H as ObjectType>::GlibClassType: Copy, <I as ObjectType>::GlibClassType: Copy, <J as ObjectType>::GlibClassType: Copy, <K as ObjectType>::GlibClassType: Copy, <L as ObjectType>::GlibClassType: Copy, <M as ObjectType>::GlibClassType: Copy, <N as ObjectType>::GlibClassType: Copy, <O as ObjectType>::GlibClassType: Copy,

source§

fn iface_infos() -> Vec<(GType, GInterfaceInfo)>

source§

fn instance_init(instance: &mut InitializingObject<T>)

source§

impl<T: ObjectSubclass, A: IsImplementable<T>, B: IsImplementable<T>, C: IsImplementable<T>, D: IsImplementable<T>, E: IsImplementable<T>, F: IsImplementable<T>, G: IsImplementable<T>, H: IsImplementable<T>> InterfaceList<T> for (A, B, C, D, E, F, G, H)where <A as ObjectType>::GlibClassType: Copy, <B as ObjectType>::GlibClassType: Copy, <C as ObjectType>::GlibClassType: Copy, <D as ObjectType>::GlibClassType: Copy, <E as ObjectType>::GlibClassType: Copy, <F as ObjectType>::GlibClassType: Copy, <G as ObjectType>::GlibClassType: Copy, <H as ObjectType>::GlibClassType: Copy,

source§

fn iface_infos() -> Vec<(GType, GInterfaceInfo)>

source§

fn instance_init(instance: &mut InitializingObject<T>)

source§

impl<T: ObjectSubclass, A: IsImplementable<T>, B: IsImplementable<T>, C: IsImplementable<T>, D: IsImplementable<T>, E: IsImplementable<T>, F: IsImplementable<T>, G: IsImplementable<T>, H: IsImplementable<T>, I: IsImplementable<T>, J: IsImplementable<T>, K: IsImplementable<T>, L: IsImplementable<T>> InterfaceList<T> for (A, B, C, D, E, F, G, H, I, J, K, L)where <A as ObjectType>::GlibClassType: Copy, <B as ObjectType>::GlibClassType: Copy, <C as ObjectType>::GlibClassType: Copy, <D as ObjectType>::GlibClassType: Copy, <E as ObjectType>::GlibClassType: Copy, <F as ObjectType>::GlibClassType: Copy, <G as ObjectType>::GlibClassType: Copy, <H as ObjectType>::GlibClassType: Copy, <I as ObjectType>::GlibClassType: Copy, <J as ObjectType>::GlibClassType: Copy, <K as ObjectType>::GlibClassType: Copy, <L as ObjectType>::GlibClassType: Copy,

source§

fn iface_infos() -> Vec<(GType, GInterfaceInfo)>

source§

fn instance_init(instance: &mut InitializingObject<T>)

source§

impl<T: ObjectSubclass, A: IsImplementable<T>, B: IsImplementable<T>, C: IsImplementable<T>, D: IsImplementable<T>, E: IsImplementable<T>, F: IsImplementable<T>, G: IsImplementable<T>> InterfaceList<T> for (A, B, C, D, E, F, G)where <A as ObjectType>::GlibClassType: Copy, <B as ObjectType>::GlibClassType: Copy, <C as ObjectType>::GlibClassType: Copy, <D as ObjectType>::GlibClassType: Copy, <E as ObjectType>::GlibClassType: Copy, <F as ObjectType>::GlibClassType: Copy, <G as ObjectType>::GlibClassType: Copy,

source§

fn iface_infos() -> Vec<(GType, GInterfaceInfo)>

source§

fn instance_init(instance: &mut InitializingObject<T>)

source§

impl<T: ObjectSubclass, A: IsImplementable<T>, B: IsImplementable<T>, C: IsImplementable<T>> InterfaceList<T> for (A, B, C)where <A as ObjectType>::GlibClassType: Copy, <B as ObjectType>::GlibClassType: Copy, <C as ObjectType>::GlibClassType: Copy,

source§

fn iface_infos() -> Vec<(GType, GInterfaceInfo)>

source§

fn instance_init(instance: &mut InitializingObject<T>)

Implementors§