Trait IntoVisitor

Source
pub trait IntoVisitor {
    type AnyVisitor<R: TypeResolver>: for<'scale, 'resolver> Visitor<Value<'scale, 'resolver> = Self, Error = Error, TypeResolver = R>;

    // Required method
    fn into_visitor<R: TypeResolver>() -> Self::AnyVisitor<R>;
}
Expand description

This trait can be implemented on any type that has an associated Visitor responsible for decoding SCALE encoded bytes to it whose error type is Error. Anything that implements this trait gets a DecodeAsType implementation for free.

Required Associated Types§

Source

type AnyVisitor<R: TypeResolver>: for<'scale, 'resolver> Visitor<Value<'scale, 'resolver> = Self, Error = Error, TypeResolver = R>

The visitor type used to decode SCALE encoded bytes to Self.

Required Methods§

Source

fn into_visitor<R: TypeResolver>() -> Self::AnyVisitor<R>

A means of obtaining this visitor.

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 IntoVisitor for bool

Source§

type AnyVisitor<R: TypeResolver> = BasicVisitor<bool, R>

Source§

fn into_visitor<R: TypeResolver>() -> Self::AnyVisitor<R>

Source§

impl IntoVisitor for char

Source§

type AnyVisitor<R: TypeResolver> = BasicVisitor<char, R>

Source§

fn into_visitor<R: TypeResolver>() -> Self::AnyVisitor<R>

Source§

impl IntoVisitor for i8

Source§

type AnyVisitor<R: TypeResolver> = BasicVisitor<i8, R>

Source§

fn into_visitor<R: TypeResolver>() -> Self::AnyVisitor<R>

Source§

impl IntoVisitor for i16

Source§

type AnyVisitor<R: TypeResolver> = BasicVisitor<i16, R>

Source§

fn into_visitor<R: TypeResolver>() -> Self::AnyVisitor<R>

Source§

impl IntoVisitor for i32

Source§

type AnyVisitor<R: TypeResolver> = BasicVisitor<i32, R>

Source§

fn into_visitor<R: TypeResolver>() -> Self::AnyVisitor<R>

Source§

impl IntoVisitor for i64

Source§

type AnyVisitor<R: TypeResolver> = BasicVisitor<i64, R>

Source§

fn into_visitor<R: TypeResolver>() -> Self::AnyVisitor<R>

Source§

impl IntoVisitor for i128

Source§

type AnyVisitor<R: TypeResolver> = BasicVisitor<i128, R>

Source§

fn into_visitor<R: TypeResolver>() -> Self::AnyVisitor<R>

Source§

impl IntoVisitor for isize

Source§

type AnyVisitor<R: TypeResolver> = BasicVisitor<isize, R>

Source§

fn into_visitor<R: TypeResolver>() -> Self::AnyVisitor<R>

Source§

impl IntoVisitor for u8

Source§

type AnyVisitor<R: TypeResolver> = BasicVisitor<u8, R>

Source§

fn into_visitor<R: TypeResolver>() -> Self::AnyVisitor<R>

Source§

impl IntoVisitor for u16

Source§

type AnyVisitor<R: TypeResolver> = BasicVisitor<u16, R>

Source§

fn into_visitor<R: TypeResolver>() -> Self::AnyVisitor<R>

Source§

impl IntoVisitor for u32

Source§

type AnyVisitor<R: TypeResolver> = BasicVisitor<u32, R>

Source§

fn into_visitor<R: TypeResolver>() -> Self::AnyVisitor<R>

Source§

impl IntoVisitor for u64

Source§

type AnyVisitor<R: TypeResolver> = BasicVisitor<u64, R>

Source§

fn into_visitor<R: TypeResolver>() -> Self::AnyVisitor<R>

Source§

impl IntoVisitor for u128

Source§

type AnyVisitor<R: TypeResolver> = BasicVisitor<u128, R>

Source§

fn into_visitor<R: TypeResolver>() -> Self::AnyVisitor<R>

Source§

impl IntoVisitor for ()

Source§

type AnyVisitor<Resolver: TypeResolver> = BasicVisitor<(), Resolver>

Source§

fn into_visitor<Resolver: TypeResolver>() -> Self::AnyVisitor<Resolver>

Source§

impl IntoVisitor for usize

Source§

type AnyVisitor<R: TypeResolver> = BasicVisitor<usize, R>

Source§

fn into_visitor<R: TypeResolver>() -> Self::AnyVisitor<R>

Source§

impl IntoVisitor for String

Source§

type AnyVisitor<R: TypeResolver> = BasicVisitor<String, R>

Source§

fn into_visitor<R: TypeResolver>() -> Self::AnyVisitor<R>

Source§

impl IntoVisitor for Duration
where (u64, u32): IntoVisitor,

Source§

impl IntoVisitor for H128

Source§

type AnyVisitor<R: TypeResolver> = BasicVisitor<H128, R>

Source§

fn into_visitor<R: TypeResolver>() -> Self::AnyVisitor<R>

Source§

impl IntoVisitor for H160

Source§

type AnyVisitor<R: TypeResolver> = BasicVisitor<H160, R>

Source§

fn into_visitor<R: TypeResolver>() -> Self::AnyVisitor<R>

Source§

impl IntoVisitor for H256

Source§

type AnyVisitor<R: TypeResolver> = BasicVisitor<H256, R>

Source§

fn into_visitor<R: TypeResolver>() -> Self::AnyVisitor<R>

Source§

impl IntoVisitor for H384

Source§

type AnyVisitor<R: TypeResolver> = BasicVisitor<H384, R>

Source§

fn into_visitor<R: TypeResolver>() -> Self::AnyVisitor<R>

Source§

impl IntoVisitor for H512

Source§

type AnyVisitor<R: TypeResolver> = BasicVisitor<H512, R>

Source§

fn into_visitor<R: TypeResolver>() -> Self::AnyVisitor<R>

Source§

impl IntoVisitor for H768

Source§

type AnyVisitor<R: TypeResolver> = BasicVisitor<H768, R>

Source§

fn into_visitor<R: TypeResolver>() -> Self::AnyVisitor<R>

Source§

impl IntoVisitor for Bits

Source§

type AnyVisitor<R: TypeResolver> = BasicVisitor<Bits, R>

Source§

fn into_visitor<R: TypeResolver>() -> Self::AnyVisitor<R>

Source§

impl IntoVisitor for NonZeroI8

Source§

type AnyVisitor<R: TypeResolver> = BasicVisitor<NonZero<i8>, R>

Source§

fn into_visitor<R: TypeResolver>() -> Self::AnyVisitor<R>

Source§

impl IntoVisitor for NonZeroI16

Source§

type AnyVisitor<R: TypeResolver> = BasicVisitor<NonZero<i16>, R>

Source§

fn into_visitor<R: TypeResolver>() -> Self::AnyVisitor<R>

Source§

impl IntoVisitor for NonZeroI32

Source§

type AnyVisitor<R: TypeResolver> = BasicVisitor<NonZero<i32>, R>

Source§

fn into_visitor<R: TypeResolver>() -> Self::AnyVisitor<R>

Source§

impl IntoVisitor for NonZeroI64

Source§

type AnyVisitor<R: TypeResolver> = BasicVisitor<NonZero<i64>, R>

Source§

fn into_visitor<R: TypeResolver>() -> Self::AnyVisitor<R>

Source§

impl IntoVisitor for NonZeroI128

Source§

impl IntoVisitor for NonZeroU8

Source§

type AnyVisitor<R: TypeResolver> = BasicVisitor<NonZero<u8>, R>

Source§

fn into_visitor<R: TypeResolver>() -> Self::AnyVisitor<R>

Source§

impl IntoVisitor for NonZeroU16

Source§

type AnyVisitor<R: TypeResolver> = BasicVisitor<NonZero<u16>, R>

Source§

fn into_visitor<R: TypeResolver>() -> Self::AnyVisitor<R>

Source§

impl IntoVisitor for NonZeroU32

Source§

type AnyVisitor<R: TypeResolver> = BasicVisitor<NonZero<u32>, R>

Source§

fn into_visitor<R: TypeResolver>() -> Self::AnyVisitor<R>

Source§

impl IntoVisitor for NonZeroU64

Source§

type AnyVisitor<R: TypeResolver> = BasicVisitor<NonZero<u64>, R>

Source§

fn into_visitor<R: TypeResolver>() -> Self::AnyVisitor<R>

Source§

impl IntoVisitor for NonZeroU128

Source§

impl<'a, T> IntoVisitor for Cow<'a, T>
where T: 'a + ToOwned + ?Sized, <T as ToOwned>::Owned: IntoVisitor,

Source§

type AnyVisitor<R: TypeResolver> = BasicVisitor<Cow<'a, T>, R>

Source§

fn into_visitor<R: TypeResolver>() -> Self::AnyVisitor<R>

Source§

impl<A> IntoVisitor for (A,)
where A: IntoVisitor,

Source§

type AnyVisitor<Resolver: TypeResolver> = BasicVisitor<(A,), Resolver>

Source§

fn into_visitor<Resolver: TypeResolver>() -> Self::AnyVisitor<Resolver>

Source§

impl<A, B> IntoVisitor for (A, B)
where A: IntoVisitor, B: IntoVisitor,

Source§

type AnyVisitor<Resolver: TypeResolver> = BasicVisitor<(A, B), Resolver>

Source§

fn into_visitor<Resolver: TypeResolver>() -> Self::AnyVisitor<Resolver>

Source§

impl<A, B, C> IntoVisitor for (A, B, C)

Source§

type AnyVisitor<Resolver: TypeResolver> = BasicVisitor<(A, B, C), Resolver>

Source§

fn into_visitor<Resolver: TypeResolver>() -> Self::AnyVisitor<Resolver>

Source§

impl<A, B, C, D> IntoVisitor for (A, B, C, D)

Source§

type AnyVisitor<Resolver: TypeResolver> = BasicVisitor<(A, B, C, D), Resolver>

Source§

fn into_visitor<Resolver: TypeResolver>() -> Self::AnyVisitor<Resolver>

Source§

impl<A, B, C, D, E> IntoVisitor for (A, B, C, D, E)

Source§

type AnyVisitor<Resolver: TypeResolver> = BasicVisitor<(A, B, C, D, E), Resolver>

Source§

fn into_visitor<Resolver: TypeResolver>() -> Self::AnyVisitor<Resolver>

Source§

impl<A, B, C, D, E, F> IntoVisitor for (A, B, C, D, E, F)

Source§

type AnyVisitor<Resolver: TypeResolver> = BasicVisitor<(A, B, C, D, E, F), Resolver>

Source§

fn into_visitor<Resolver: TypeResolver>() -> Self::AnyVisitor<Resolver>

Source§

impl<A, B, C, D, E, F, G> IntoVisitor for (A, B, C, D, E, F, G)

Source§

type AnyVisitor<Resolver: TypeResolver> = BasicVisitor<(A, B, C, D, E, F, G), Resolver>

Source§

fn into_visitor<Resolver: TypeResolver>() -> Self::AnyVisitor<Resolver>

Source§

impl<A, B, C, D, E, F, G, H> IntoVisitor for (A, B, C, D, E, F, G, H)

Source§

type AnyVisitor<Resolver: TypeResolver> = BasicVisitor<(A, B, C, D, E, F, G, H), Resolver>

Source§

fn into_visitor<Resolver: TypeResolver>() -> Self::AnyVisitor<Resolver>

Source§

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

Source§

type AnyVisitor<Resolver: TypeResolver> = BasicVisitor<(A, B, C, D, E, F, G, H, I), Resolver>

Source§

fn into_visitor<Resolver: TypeResolver>() -> Self::AnyVisitor<Resolver>

Source§

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

Source§

type AnyVisitor<Resolver: TypeResolver> = BasicVisitor<(A, B, C, D, E, F, G, H, I, J), Resolver>

Source§

fn into_visitor<Resolver: TypeResolver>() -> Self::AnyVisitor<Resolver>

Source§

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

Source§

type AnyVisitor<Resolver: TypeResolver> = BasicVisitor<(A, B, C, D, E, F, G, H, I, J, K), Resolver>

Source§

fn into_visitor<Resolver: TypeResolver>() -> Self::AnyVisitor<Resolver>

Source§

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

Source§

type AnyVisitor<Resolver: TypeResolver> = BasicVisitor<(A, B, C, D, E, F, G, H, I, J, K, L), Resolver>

Source§

fn into_visitor<Resolver: TypeResolver>() -> Self::AnyVisitor<Resolver>

Source§

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

Source§

type AnyVisitor<Resolver: TypeResolver> = BasicVisitor<(A, B, C, D, E, F, G, H, I, J, K, L, M), Resolver>

Source§

fn into_visitor<Resolver: TypeResolver>() -> Self::AnyVisitor<Resolver>

Source§

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

Source§

type AnyVisitor<Resolver: TypeResolver> = BasicVisitor<(A, B, C, D, E, F, G, H, I, J, K, L, M, N), Resolver>

Source§

fn into_visitor<Resolver: TypeResolver>() -> Self::AnyVisitor<Resolver>

Source§

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

Source§

type AnyVisitor<Resolver: TypeResolver> = BasicVisitor<(A, B, C, D, E, F, G, H, I, J, K, L, M, N, O), Resolver>

Source§

fn into_visitor<Resolver: TypeResolver>() -> Self::AnyVisitor<Resolver>

Source§

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

Source§

type AnyVisitor<Resolver: TypeResolver> = BasicVisitor<(A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P), Resolver>

Source§

fn into_visitor<Resolver: TypeResolver>() -> Self::AnyVisitor<Resolver>

Source§

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

Source§

impl<A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R> IntoVisitor for (A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R)

Source§

impl<A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S> IntoVisitor for (A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S)

Source§

impl<A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T> IntoVisitor for (A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T)

Source§

impl<T> IntoVisitor for Option<T>
where T: IntoVisitor,

Source§

type AnyVisitor<R: TypeResolver> = BasicVisitor<Option<T>, R>

Source§

fn into_visitor<R: TypeResolver>() -> Self::AnyVisitor<R>

Source§

impl<T> IntoVisitor for Box<T>
where T: IntoVisitor,

Source§

type AnyVisitor<R: TypeResolver> = BasicVisitor<Box<T>, R>

Source§

fn into_visitor<R: TypeResolver>() -> Self::AnyVisitor<R>

Source§

impl<T> IntoVisitor for BinaryHeap<T>
where T: IntoVisitor + Ord,

Source§

type AnyVisitor<R: TypeResolver> = BasicVisitor<BinaryHeap<T>, R>

Source§

fn into_visitor<R: TypeResolver>() -> Self::AnyVisitor<R>

Source§

impl<T> IntoVisitor for BTreeSet<T>
where T: IntoVisitor + Ord,

Source§

type AnyVisitor<R: TypeResolver> = BasicVisitor<BTreeSet<T>, R>

Source§

fn into_visitor<R: TypeResolver>() -> Self::AnyVisitor<R>

Source§

impl<T> IntoVisitor for LinkedList<T>
where T: IntoVisitor,

Source§

type AnyVisitor<R: TypeResolver> = BasicVisitor<LinkedList<T>, R>

Source§

fn into_visitor<R: TypeResolver>() -> Self::AnyVisitor<R>

Source§

impl<T> IntoVisitor for VecDeque<T>
where T: IntoVisitor,

Source§

type AnyVisitor<R: TypeResolver> = BasicVisitor<VecDeque<T>, R>

Source§

fn into_visitor<R: TypeResolver>() -> Self::AnyVisitor<R>

Source§

impl<T> IntoVisitor for Rc<T>
where T: IntoVisitor,

Source§

type AnyVisitor<R: TypeResolver> = BasicVisitor<Rc<T>, R>

Source§

fn into_visitor<R: TypeResolver>() -> Self::AnyVisitor<R>

Source§

impl<T> IntoVisitor for Arc<T>
where T: IntoVisitor,

Source§

type AnyVisitor<R: TypeResolver> = BasicVisitor<Arc<T>, R>

Source§

fn into_visitor<R: TypeResolver>() -> Self::AnyVisitor<R>

Source§

impl<T> IntoVisitor for Vec<T>
where T: IntoVisitor,

Source§

type AnyVisitor<R: TypeResolver> = BasicVisitor<Vec<T>, R>

Source§

fn into_visitor<R: TypeResolver>() -> Self::AnyVisitor<R>

Source§

impl<T> IntoVisitor for PhantomData<T>

Source§

type AnyVisitor<R: TypeResolver> = BasicVisitor<PhantomData<T>, R>

Source§

fn into_visitor<R: TypeResolver>() -> Self::AnyVisitor<R>

Source§

impl<T> IntoVisitor for Range<T>

Source§

type AnyVisitor<R: TypeResolver> = BasicVisitor<Range<T>, R>

Source§

fn into_visitor<R: TypeResolver>() -> Self::AnyVisitor<R>

Source§

impl<T> IntoVisitor for RangeInclusive<T>

Source§

impl<T> IntoVisitor for Compact<T>
where T: IntoVisitor,

Source§

type AnyVisitor<R: TypeResolver> = BasicVisitor<Compact<T>, R>

Source§

fn into_visitor<R: TypeResolver>() -> Self::AnyVisitor<R>

Source§

impl<T, E> IntoVisitor for Result<T, E>
where T: IntoVisitor, E: IntoVisitor,

Source§

type AnyVisitor<R: TypeResolver> = BasicVisitor<Result<T, E>, R>

Source§

fn into_visitor<R: TypeResolver>() -> Self::AnyVisitor<R>

Source§

impl<T: IntoVisitor> IntoVisitor for BTreeMap<String, T>

Source§

type AnyVisitor<R: TypeResolver> = BasicVisitor<BTreeMap<String, T>, R>

Source§

fn into_visitor<R: TypeResolver>() -> Self::AnyVisitor<R>

Source§

impl<const N: usize, T: IntoVisitor> IntoVisitor for [T; N]

Source§

type AnyVisitor<R: TypeResolver> = BasicVisitor<[T; N], R>

Source§

fn into_visitor<R: TypeResolver>() -> Self::AnyVisitor<R>

Implementors§