Trait candid::utils::ArgumentDecoder [−][src]
pub trait ArgumentDecoder<'a>: Sized { fn decode(de: &mut IDLDeserialize<'a>) -> Result<Self>; }
Expand description
Allow decoding of any sized argument.
Required methods
fn decode(de: &mut IDLDeserialize<'a>) -> Result<Self>
fn decode(de: &mut IDLDeserialize<'a>) -> Result<Self>
Decodes a value of type Self, modifying the deserializer (values are consumed).
Implementations on Foreign Types
Decode an empty tuple.
impl<'a, A, B> ArgumentDecoder<'a> for (A, B) where
A: Deserialize<'a> + CandidType,
B: Deserialize<'a> + CandidType,
impl<'a, A, B> ArgumentDecoder<'a> for (A, B) where
A: Deserialize<'a> + CandidType,
B: Deserialize<'a> + CandidType,
impl<'a, A, B, C> ArgumentDecoder<'a> for (A, B, C) where
A: Deserialize<'a> + CandidType,
B: Deserialize<'a> + CandidType,
C: Deserialize<'a> + CandidType,
impl<'a, A, B, C> ArgumentDecoder<'a> for (A, B, C) where
A: Deserialize<'a> + CandidType,
B: Deserialize<'a> + CandidType,
C: Deserialize<'a> + CandidType,
impl<'a, A, B, C, D> ArgumentDecoder<'a> for (A, B, C, D) where
A: Deserialize<'a> + CandidType,
B: Deserialize<'a> + CandidType,
C: Deserialize<'a> + CandidType,
D: Deserialize<'a> + CandidType,
impl<'a, A, B, C, D> ArgumentDecoder<'a> for (A, B, C, D) where
A: Deserialize<'a> + CandidType,
B: Deserialize<'a> + CandidType,
C: Deserialize<'a> + CandidType,
D: Deserialize<'a> + CandidType,
impl<'a, A, B, C, D, E> ArgumentDecoder<'a> for (A, B, C, D, E) where
A: Deserialize<'a> + CandidType,
B: Deserialize<'a> + CandidType,
C: Deserialize<'a> + CandidType,
D: Deserialize<'a> + CandidType,
E: Deserialize<'a> + CandidType,
impl<'a, A, B, C, D, E> ArgumentDecoder<'a> for (A, B, C, D, E) where
A: Deserialize<'a> + CandidType,
B: Deserialize<'a> + CandidType,
C: Deserialize<'a> + CandidType,
D: Deserialize<'a> + CandidType,
E: Deserialize<'a> + CandidType,
impl<'a, A, B, C, D, E, F> ArgumentDecoder<'a> for (A, B, C, D, E, F) where
A: Deserialize<'a> + CandidType,
B: Deserialize<'a> + CandidType,
C: Deserialize<'a> + CandidType,
D: Deserialize<'a> + CandidType,
E: Deserialize<'a> + CandidType,
F: Deserialize<'a> + CandidType,
impl<'a, A, B, C, D, E, F> ArgumentDecoder<'a> for (A, B, C, D, E, F) where
A: Deserialize<'a> + CandidType,
B: Deserialize<'a> + CandidType,
C: Deserialize<'a> + CandidType,
D: Deserialize<'a> + CandidType,
E: Deserialize<'a> + CandidType,
F: Deserialize<'a> + CandidType,
impl<'a, A, B, C, D, E, F, G> ArgumentDecoder<'a> for (A, B, C, D, E, F, G) where
A: Deserialize<'a> + CandidType,
B: Deserialize<'a> + CandidType,
C: Deserialize<'a> + CandidType,
D: Deserialize<'a> + CandidType,
E: Deserialize<'a> + CandidType,
F: Deserialize<'a> + CandidType,
G: Deserialize<'a> + CandidType,
impl<'a, A, B, C, D, E, F, G> ArgumentDecoder<'a> for (A, B, C, D, E, F, G) where
A: Deserialize<'a> + CandidType,
B: Deserialize<'a> + CandidType,
C: Deserialize<'a> + CandidType,
D: Deserialize<'a> + CandidType,
E: Deserialize<'a> + CandidType,
F: Deserialize<'a> + CandidType,
G: Deserialize<'a> + CandidType,
impl<'a, A, B, C, D, E, F, G, H> ArgumentDecoder<'a> for (A, B, C, D, E, F, G, H) where
A: Deserialize<'a> + CandidType,
B: Deserialize<'a> + CandidType,
C: Deserialize<'a> + CandidType,
D: Deserialize<'a> + CandidType,
E: Deserialize<'a> + CandidType,
F: Deserialize<'a> + CandidType,
G: Deserialize<'a> + CandidType,
H: Deserialize<'a> + CandidType,
impl<'a, A, B, C, D, E, F, G, H> ArgumentDecoder<'a> for (A, B, C, D, E, F, G, H) where
A: Deserialize<'a> + CandidType,
B: Deserialize<'a> + CandidType,
C: Deserialize<'a> + CandidType,
D: Deserialize<'a> + CandidType,
E: Deserialize<'a> + CandidType,
F: Deserialize<'a> + CandidType,
G: Deserialize<'a> + CandidType,
H: Deserialize<'a> + CandidType,
impl<'a, A, B, C, D, E, F, G, H, I> ArgumentDecoder<'a> for (A, B, C, D, E, F, G, H, I) where
A: Deserialize<'a> + CandidType,
B: Deserialize<'a> + CandidType,
C: Deserialize<'a> + CandidType,
D: Deserialize<'a> + CandidType,
E: Deserialize<'a> + CandidType,
F: Deserialize<'a> + CandidType,
G: Deserialize<'a> + CandidType,
H: Deserialize<'a> + CandidType,
I: Deserialize<'a> + CandidType,
impl<'a, A, B, C, D, E, F, G, H, I> ArgumentDecoder<'a> for (A, B, C, D, E, F, G, H, I) where
A: Deserialize<'a> + CandidType,
B: Deserialize<'a> + CandidType,
C: Deserialize<'a> + CandidType,
D: Deserialize<'a> + CandidType,
E: Deserialize<'a> + CandidType,
F: Deserialize<'a> + CandidType,
G: Deserialize<'a> + CandidType,
H: Deserialize<'a> + CandidType,
I: Deserialize<'a> + CandidType,
impl<'a, A, B, C, D, E, F, G, H, I, J> ArgumentDecoder<'a> for (A, B, C, D, E, F, G, H, I, J) where
A: Deserialize<'a> + CandidType,
B: Deserialize<'a> + CandidType,
C: Deserialize<'a> + CandidType,
D: Deserialize<'a> + CandidType,
E: Deserialize<'a> + CandidType,
F: Deserialize<'a> + CandidType,
G: Deserialize<'a> + CandidType,
H: Deserialize<'a> + CandidType,
I: Deserialize<'a> + CandidType,
J: Deserialize<'a> + CandidType,
impl<'a, A, B, C, D, E, F, G, H, I, J> ArgumentDecoder<'a> for (A, B, C, D, E, F, G, H, I, J) where
A: Deserialize<'a> + CandidType,
B: Deserialize<'a> + CandidType,
C: Deserialize<'a> + CandidType,
D: Deserialize<'a> + CandidType,
E: Deserialize<'a> + CandidType,
F: Deserialize<'a> + CandidType,
G: Deserialize<'a> + CandidType,
H: Deserialize<'a> + CandidType,
I: Deserialize<'a> + CandidType,
J: Deserialize<'a> + CandidType,
impl<'a, A, B, C, D, E, F, G, H, I, J, K> ArgumentDecoder<'a> for (A, B, C, D, E, F, G, H, I, J, K) where
A: Deserialize<'a> + CandidType,
B: Deserialize<'a> + CandidType,
C: Deserialize<'a> + CandidType,
D: Deserialize<'a> + CandidType,
E: Deserialize<'a> + CandidType,
F: Deserialize<'a> + CandidType,
G: Deserialize<'a> + CandidType,
H: Deserialize<'a> + CandidType,
I: Deserialize<'a> + CandidType,
J: Deserialize<'a> + CandidType,
K: Deserialize<'a> + CandidType,
impl<'a, A, B, C, D, E, F, G, H, I, J, K> ArgumentDecoder<'a> for (A, B, C, D, E, F, G, H, I, J, K) where
A: Deserialize<'a> + CandidType,
B: Deserialize<'a> + CandidType,
C: Deserialize<'a> + CandidType,
D: Deserialize<'a> + CandidType,
E: Deserialize<'a> + CandidType,
F: Deserialize<'a> + CandidType,
G: Deserialize<'a> + CandidType,
H: Deserialize<'a> + CandidType,
I: Deserialize<'a> + CandidType,
J: Deserialize<'a> + CandidType,
K: Deserialize<'a> + CandidType,
impl<'a, A, B, C, D, E, F, G, H, I, J, K, L> ArgumentDecoder<'a> for (A, B, C, D, E, F, G, H, I, J, K, L) where
A: Deserialize<'a> + CandidType,
B: Deserialize<'a> + CandidType,
C: Deserialize<'a> + CandidType,
D: Deserialize<'a> + CandidType,
E: Deserialize<'a> + CandidType,
F: Deserialize<'a> + CandidType,
G: Deserialize<'a> + CandidType,
H: Deserialize<'a> + CandidType,
I: Deserialize<'a> + CandidType,
J: Deserialize<'a> + CandidType,
K: Deserialize<'a> + CandidType,
L: Deserialize<'a> + CandidType,
impl<'a, A, B, C, D, E, F, G, H, I, J, K, L> ArgumentDecoder<'a> for (A, B, C, D, E, F, G, H, I, J, K, L) where
A: Deserialize<'a> + CandidType,
B: Deserialize<'a> + CandidType,
C: Deserialize<'a> + CandidType,
D: Deserialize<'a> + CandidType,
E: Deserialize<'a> + CandidType,
F: Deserialize<'a> + CandidType,
G: Deserialize<'a> + CandidType,
H: Deserialize<'a> + CandidType,
I: Deserialize<'a> + CandidType,
J: Deserialize<'a> + CandidType,
K: Deserialize<'a> + CandidType,
L: Deserialize<'a> + CandidType,
impl<'a, A, B, C, D, E, F, G, H, I, J, K, L, M> ArgumentDecoder<'a> for (A, B, C, D, E, F, G, H, I, J, K, L, M) where
A: Deserialize<'a> + CandidType,
B: Deserialize<'a> + CandidType,
C: Deserialize<'a> + CandidType,
D: Deserialize<'a> + CandidType,
E: Deserialize<'a> + CandidType,
F: Deserialize<'a> + CandidType,
G: Deserialize<'a> + CandidType,
H: Deserialize<'a> + CandidType,
I: Deserialize<'a> + CandidType,
J: Deserialize<'a> + CandidType,
K: Deserialize<'a> + CandidType,
L: Deserialize<'a> + CandidType,
M: Deserialize<'a> + CandidType,
impl<'a, A, B, C, D, E, F, G, H, I, J, K, L, M> ArgumentDecoder<'a> for (A, B, C, D, E, F, G, H, I, J, K, L, M) where
A: Deserialize<'a> + CandidType,
B: Deserialize<'a> + CandidType,
C: Deserialize<'a> + CandidType,
D: Deserialize<'a> + CandidType,
E: Deserialize<'a> + CandidType,
F: Deserialize<'a> + CandidType,
G: Deserialize<'a> + CandidType,
H: Deserialize<'a> + CandidType,
I: Deserialize<'a> + CandidType,
J: Deserialize<'a> + CandidType,
K: Deserialize<'a> + CandidType,
L: Deserialize<'a> + CandidType,
M: Deserialize<'a> + CandidType,
impl<'a, A, B, C, D, E, F, G, H, I, J, K, L, M, N> ArgumentDecoder<'a> for (A, B, C, D, E, F, G, H, I, J, K, L, M, N) where
A: Deserialize<'a> + CandidType,
B: Deserialize<'a> + CandidType,
C: Deserialize<'a> + CandidType,
D: Deserialize<'a> + CandidType,
E: Deserialize<'a> + CandidType,
F: Deserialize<'a> + CandidType,
G: Deserialize<'a> + CandidType,
H: Deserialize<'a> + CandidType,
I: Deserialize<'a> + CandidType,
J: Deserialize<'a> + CandidType,
K: Deserialize<'a> + CandidType,
L: Deserialize<'a> + CandidType,
M: Deserialize<'a> + CandidType,
N: Deserialize<'a> + CandidType,
impl<'a, A, B, C, D, E, F, G, H, I, J, K, L, M, N> ArgumentDecoder<'a> for (A, B, C, D, E, F, G, H, I, J, K, L, M, N) where
A: Deserialize<'a> + CandidType,
B: Deserialize<'a> + CandidType,
C: Deserialize<'a> + CandidType,
D: Deserialize<'a> + CandidType,
E: Deserialize<'a> + CandidType,
F: Deserialize<'a> + CandidType,
G: Deserialize<'a> + CandidType,
H: Deserialize<'a> + CandidType,
I: Deserialize<'a> + CandidType,
J: Deserialize<'a> + CandidType,
K: Deserialize<'a> + CandidType,
L: Deserialize<'a> + CandidType,
M: Deserialize<'a> + CandidType,
N: Deserialize<'a> + CandidType,
impl<'a, A, B, C, D, E, F, G, H, I, J, K, L, M, N, O> ArgumentDecoder<'a> for (A, B, C, D, E, F, G, H, I, J, K, L, M, N, O) where
A: Deserialize<'a> + CandidType,
B: Deserialize<'a> + CandidType,
C: Deserialize<'a> + CandidType,
D: Deserialize<'a> + CandidType,
E: Deserialize<'a> + CandidType,
F: Deserialize<'a> + CandidType,
G: Deserialize<'a> + CandidType,
H: Deserialize<'a> + CandidType,
I: Deserialize<'a> + CandidType,
J: Deserialize<'a> + CandidType,
K: Deserialize<'a> + CandidType,
L: Deserialize<'a> + CandidType,
M: Deserialize<'a> + CandidType,
N: Deserialize<'a> + CandidType,
O: Deserialize<'a> + CandidType,
impl<'a, A, B, C, D, E, F, G, H, I, J, K, L, M, N, O> ArgumentDecoder<'a> for (A, B, C, D, E, F, G, H, I, J, K, L, M, N, O) where
A: Deserialize<'a> + CandidType,
B: Deserialize<'a> + CandidType,
C: Deserialize<'a> + CandidType,
D: Deserialize<'a> + CandidType,
E: Deserialize<'a> + CandidType,
F: Deserialize<'a> + CandidType,
G: Deserialize<'a> + CandidType,
H: Deserialize<'a> + CandidType,
I: Deserialize<'a> + CandidType,
J: Deserialize<'a> + CandidType,
K: Deserialize<'a> + CandidType,
L: Deserialize<'a> + CandidType,
M: Deserialize<'a> + CandidType,
N: Deserialize<'a> + CandidType,
O: Deserialize<'a> + CandidType,
impl<'a, A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P> ArgumentDecoder<'a> for (A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P) where
A: Deserialize<'a> + CandidType,
B: Deserialize<'a> + CandidType,
C: Deserialize<'a> + CandidType,
D: Deserialize<'a> + CandidType,
E: Deserialize<'a> + CandidType,
F: Deserialize<'a> + CandidType,
G: Deserialize<'a> + CandidType,
H: Deserialize<'a> + CandidType,
I: Deserialize<'a> + CandidType,
J: Deserialize<'a> + CandidType,
K: Deserialize<'a> + CandidType,
L: Deserialize<'a> + CandidType,
M: Deserialize<'a> + CandidType,
N: Deserialize<'a> + CandidType,
O: Deserialize<'a> + CandidType,
P: Deserialize<'a> + CandidType,
impl<'a, A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P> ArgumentDecoder<'a> for (A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P) where
A: Deserialize<'a> + CandidType,
B: Deserialize<'a> + CandidType,
C: Deserialize<'a> + CandidType,
D: Deserialize<'a> + CandidType,
E: Deserialize<'a> + CandidType,
F: Deserialize<'a> + CandidType,
G: Deserialize<'a> + CandidType,
H: Deserialize<'a> + CandidType,
I: Deserialize<'a> + CandidType,
J: Deserialize<'a> + CandidType,
K: Deserialize<'a> + CandidType,
L: Deserialize<'a> + CandidType,
M: Deserialize<'a> + CandidType,
N: Deserialize<'a> + CandidType,
O: Deserialize<'a> + CandidType,
P: Deserialize<'a> + CandidType,