Trait EncodeArguments

Source
pub trait EncodeArguments: Sealed {
    const ENCODINGS: &'static [Encoding];
}
Expand description

Types that represent an ordered group of function arguments, where each argument has an Objective-C type-encoding, or can be converted from one.

This is implemented for tuples of up to 16 arguments, where each argument implements EncodeArgument. It is a sealed trait, and should not need to be implemented manually - it is primarily used to make generic code a bit easier to read and understand.

Note that tuples themselves don’t implement Encode directly, because they’re not FFI-safe!

Required Associated Constants§

Source

const ENCODINGS: &'static [Encoding]

The encodings for the arguments.

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 EncodeArguments for ()

Source§

const ENCODINGS: &'static [Encoding]

Source§

impl<A: EncodeArgument> EncodeArguments for (A,)

Source§

const ENCODINGS: &'static [Encoding]

Source§

impl<A: EncodeArgument, B: EncodeArgument> EncodeArguments for (A, B)

Source§

const ENCODINGS: &'static [Encoding]

Source§

impl<A: EncodeArgument, B: EncodeArgument, C: EncodeArgument> EncodeArguments for (A, B, C)

Source§

const ENCODINGS: &'static [Encoding]

Source§

impl<A: EncodeArgument, B: EncodeArgument, C: EncodeArgument, D: EncodeArgument> EncodeArguments for (A, B, C, D)

Source§

const ENCODINGS: &'static [Encoding]

Source§

impl<A: EncodeArgument, B: EncodeArgument, C: EncodeArgument, D: EncodeArgument, E: EncodeArgument> EncodeArguments for (A, B, C, D, E)

Source§

const ENCODINGS: &'static [Encoding]

Source§

impl<A: EncodeArgument, B: EncodeArgument, C: EncodeArgument, D: EncodeArgument, E: EncodeArgument, F: EncodeArgument> EncodeArguments for (A, B, C, D, E, F)

Source§

const ENCODINGS: &'static [Encoding]

Source§

impl<A: EncodeArgument, B: EncodeArgument, C: EncodeArgument, D: EncodeArgument, E: EncodeArgument, F: EncodeArgument, G: EncodeArgument> EncodeArguments for (A, B, C, D, E, F, G)

Source§

const ENCODINGS: &'static [Encoding]

Source§

impl<A: EncodeArgument, B: EncodeArgument, C: EncodeArgument, D: EncodeArgument, E: EncodeArgument, F: EncodeArgument, G: EncodeArgument, H: EncodeArgument> EncodeArguments for (A, B, C, D, E, F, G, H)

Source§

const ENCODINGS: &'static [Encoding]

Source§

impl<A: EncodeArgument, B: EncodeArgument, C: EncodeArgument, D: EncodeArgument, E: EncodeArgument, F: EncodeArgument, G: EncodeArgument, H: EncodeArgument, I: EncodeArgument> EncodeArguments for (A, B, C, D, E, F, G, H, I)

Source§

const ENCODINGS: &'static [Encoding]

Source§

impl<A: EncodeArgument, B: EncodeArgument, C: EncodeArgument, D: EncodeArgument, E: EncodeArgument, F: EncodeArgument, G: EncodeArgument, H: EncodeArgument, I: EncodeArgument, J: EncodeArgument> EncodeArguments for (A, B, C, D, E, F, G, H, I, J)

Source§

const ENCODINGS: &'static [Encoding]

Source§

impl<A: EncodeArgument, B: EncodeArgument, C: EncodeArgument, D: EncodeArgument, E: EncodeArgument, F: EncodeArgument, G: EncodeArgument, H: EncodeArgument, I: EncodeArgument, J: EncodeArgument, K: EncodeArgument> EncodeArguments for (A, B, C, D, E, F, G, H, I, J, K)

Source§

const ENCODINGS: &'static [Encoding]

Source§

impl<A: EncodeArgument, B: EncodeArgument, C: EncodeArgument, D: EncodeArgument, E: EncodeArgument, F: EncodeArgument, G: EncodeArgument, H: EncodeArgument, I: EncodeArgument, J: EncodeArgument, K: EncodeArgument, L: EncodeArgument> EncodeArguments for (A, B, C, D, E, F, G, H, I, J, K, L)

Source§

const ENCODINGS: &'static [Encoding]

Source§

impl<A: EncodeArgument, B: EncodeArgument, C: EncodeArgument, D: EncodeArgument, E: EncodeArgument, F: EncodeArgument, G: EncodeArgument, H: EncodeArgument, I: EncodeArgument, J: EncodeArgument, K: EncodeArgument, L: EncodeArgument, M: EncodeArgument> EncodeArguments for (A, B, C, D, E, F, G, H, I, J, K, L, M)

Source§

const ENCODINGS: &'static [Encoding]

Source§

impl<A: EncodeArgument, B: EncodeArgument, C: EncodeArgument, D: EncodeArgument, E: EncodeArgument, F: EncodeArgument, G: EncodeArgument, H: EncodeArgument, I: EncodeArgument, J: EncodeArgument, K: EncodeArgument, L: EncodeArgument, M: EncodeArgument, N: EncodeArgument> EncodeArguments for (A, B, C, D, E, F, G, H, I, J, K, L, M, N)

Source§

const ENCODINGS: &'static [Encoding]

Source§

impl<A: EncodeArgument, B: EncodeArgument, C: EncodeArgument, D: EncodeArgument, E: EncodeArgument, F: EncodeArgument, G: EncodeArgument, H: EncodeArgument, I: EncodeArgument, J: EncodeArgument, K: EncodeArgument, L: EncodeArgument, M: EncodeArgument, N: EncodeArgument, O: EncodeArgument> EncodeArguments for (A, B, C, D, E, F, G, H, I, J, K, L, M, N, O)

Source§

const ENCODINGS: &'static [Encoding]

Source§

impl<A: EncodeArgument, B: EncodeArgument, C: EncodeArgument, D: EncodeArgument, E: EncodeArgument, F: EncodeArgument, G: EncodeArgument, H: EncodeArgument, I: EncodeArgument, J: EncodeArgument, K: EncodeArgument, L: EncodeArgument, M: EncodeArgument, N: EncodeArgument, O: EncodeArgument, P: EncodeArgument> EncodeArguments for (A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P)

Source§

const ENCODINGS: &'static [Encoding]

Implementors§