Trait rust2go::ToRef

source ·
pub trait ToRef {
    type Ref;

    const MEM_TYPE: MemType;

    // Required methods
    fn to_size<const INCLUDE_SELF: bool>(&self, acc: &mut usize);
    fn to_ref(&self, buffer: &mut Writer) -> Self::Ref;

    // Provided methods
    fn calc_size(&self) -> usize { ... }
    fn calc_ref(&self) -> (Vec<u8>, Self::Ref) { ... }
}

Required Associated Types§

Required Associated Constants§

Required Methods§

source

fn to_size<const INCLUDE_SELF: bool>(&self, acc: &mut usize)

source

fn to_ref(&self, buffer: &mut Writer) -> Self::Ref

Provided Methods§

source

fn calc_size(&self) -> usize

source

fn calc_ref(&self) -> (Vec<u8>, Self::Ref)

Object Safety§

This trait is not object safe.

Implementations on Foreign Types§

source§

impl ToRef for bool

source§

const MEM_TYPE: MemType = MemType::Primitive

§

type Ref = bool

source§

fn to_size<const INCLUDE_SELF: bool>(&self, _: &mut usize)

source§

fn to_ref(&self, _: &mut Writer) -> Self::Ref

source§

impl ToRef for char

source§

const MEM_TYPE: MemType = MemType::Primitive

§

type Ref = char

source§

fn to_size<const INCLUDE_SELF: bool>(&self, _: &mut usize)

source§

fn to_ref(&self, _: &mut Writer) -> Self::Ref

source§

impl ToRef for f32

source§

const MEM_TYPE: MemType = MemType::Primitive

§

type Ref = f32

source§

fn to_size<const INCLUDE_SELF: bool>(&self, _: &mut usize)

source§

fn to_ref(&self, _: &mut Writer) -> Self::Ref

source§

impl ToRef for f64

source§

const MEM_TYPE: MemType = MemType::Primitive

§

type Ref = f64

source§

fn to_size<const INCLUDE_SELF: bool>(&self, _: &mut usize)

source§

fn to_ref(&self, _: &mut Writer) -> Self::Ref

source§

impl ToRef for i8

source§

const MEM_TYPE: MemType = MemType::Primitive

§

type Ref = i8

source§

fn to_size<const INCLUDE_SELF: bool>(&self, _: &mut usize)

source§

fn to_ref(&self, _: &mut Writer) -> Self::Ref

source§

impl ToRef for i16

source§

const MEM_TYPE: MemType = MemType::Primitive

§

type Ref = i16

source§

fn to_size<const INCLUDE_SELF: bool>(&self, _: &mut usize)

source§

fn to_ref(&self, _: &mut Writer) -> Self::Ref

source§

impl ToRef for i32

source§

const MEM_TYPE: MemType = MemType::Primitive

§

type Ref = i32

source§

fn to_size<const INCLUDE_SELF: bool>(&self, _: &mut usize)

source§

fn to_ref(&self, _: &mut Writer) -> Self::Ref

source§

impl ToRef for i64

source§

const MEM_TYPE: MemType = MemType::Primitive

§

type Ref = i64

source§

fn to_size<const INCLUDE_SELF: bool>(&self, _: &mut usize)

source§

fn to_ref(&self, _: &mut Writer) -> Self::Ref

source§

impl ToRef for isize

source§

const MEM_TYPE: MemType = MemType::Primitive

§

type Ref = isize

source§

fn to_size<const INCLUDE_SELF: bool>(&self, _: &mut usize)

source§

fn to_ref(&self, _: &mut Writer) -> Self::Ref

source§

impl ToRef for u8

source§

const MEM_TYPE: MemType = MemType::Primitive

§

type Ref = u8

source§

fn to_size<const INCLUDE_SELF: bool>(&self, _: &mut usize)

source§

fn to_ref(&self, _: &mut Writer) -> Self::Ref

source§

impl ToRef for u16

source§

const MEM_TYPE: MemType = MemType::Primitive

§

type Ref = u16

source§

fn to_size<const INCLUDE_SELF: bool>(&self, _: &mut usize)

source§

fn to_ref(&self, _: &mut Writer) -> Self::Ref

source§

impl ToRef for u32

source§

const MEM_TYPE: MemType = MemType::Primitive

§

type Ref = u32

source§

fn to_size<const INCLUDE_SELF: bool>(&self, _: &mut usize)

source§

fn to_ref(&self, _: &mut Writer) -> Self::Ref

source§

impl ToRef for u64

source§

const MEM_TYPE: MemType = MemType::Primitive

§

type Ref = u64

source§

fn to_size<const INCLUDE_SELF: bool>(&self, _: &mut usize)

source§

fn to_ref(&self, _: &mut Writer) -> Self::Ref

source§

impl ToRef for usize

source§

const MEM_TYPE: MemType = MemType::Primitive

§

type Ref = usize

source§

fn to_size<const INCLUDE_SELF: bool>(&self, _: &mut usize)

source§

fn to_ref(&self, _: &mut Writer) -> Self::Ref

source§

impl ToRef for String

source§

const MEM_TYPE: MemType = MemType::SimpleWrapper

§

type Ref = StringRef

source§

fn to_size<const INCLUDE_SELF: bool>(&self, acc: &mut usize)

source§

fn to_ref(&self, _: &mut Writer) -> Self::Ref

source§

impl ToRef for Waker

source§

const MEM_TYPE: MemType = MemType::Primitive

§

type Ref = WakerRef

source§

fn to_size<const INCLUDE_SELF: bool>(&self, acc: &mut usize)

source§

fn to_ref(&self, _: &mut Writer) -> Self::Ref

source§

impl<T1> ToRef for (T1,)
where T1: ToRef,

source§

const MEM_TYPE: MemType = _

§

type Ref = (<T1 as ToRef>::Ref,)

source§

fn to_size<const INCLUDE_SELF: bool>(&self, acc: &mut usize)

source§

fn to_ref(&self, buffer: &mut Writer) -> Self::Ref

source§

impl<T1, T2> ToRef for (T1, T2)
where T1: ToRef, T2: ToRef,

source§

const MEM_TYPE: MemType = _

§

type Ref = (<T1 as ToRef>::Ref, <T2 as ToRef>::Ref)

source§

fn to_size<const INCLUDE_SELF: bool>(&self, acc: &mut usize)

source§

fn to_ref(&self, buffer: &mut Writer) -> Self::Ref

source§

impl<T1, T2, T3> ToRef for (T1, T2, T3)
where T1: ToRef, T2: ToRef, T3: ToRef,

source§

const MEM_TYPE: MemType = _

§

type Ref = (<T1 as ToRef>::Ref, <T2 as ToRef>::Ref, <T3 as ToRef>::Ref)

source§

fn to_size<const INCLUDE_SELF: bool>(&self, acc: &mut usize)

source§

fn to_ref(&self, buffer: &mut Writer) -> Self::Ref

source§

impl<T1, T2, T3, T4> ToRef for (T1, T2, T3, T4)
where T1: ToRef, T2: ToRef, T3: ToRef, T4: ToRef,

source§

const MEM_TYPE: MemType = _

§

type Ref = (<T1 as ToRef>::Ref, <T2 as ToRef>::Ref, <T3 as ToRef>::Ref, <T4 as ToRef>::Ref)

source§

fn to_size<const INCLUDE_SELF: bool>(&self, acc: &mut usize)

source§

fn to_ref(&self, buffer: &mut Writer) -> Self::Ref

source§

impl<T1, T2, T3, T4, T5> ToRef for (T1, T2, T3, T4, T5)
where T1: ToRef, T2: ToRef, T3: ToRef, T4: ToRef, T5: ToRef,

source§

const MEM_TYPE: MemType = _

§

type Ref = (<T1 as ToRef>::Ref, <T2 as ToRef>::Ref, <T3 as ToRef>::Ref, <T4 as ToRef>::Ref, <T5 as ToRef>::Ref)

source§

fn to_size<const INCLUDE_SELF: bool>(&self, acc: &mut usize)

source§

fn to_ref(&self, buffer: &mut Writer) -> Self::Ref

source§

impl<T1, T2, T3, T4, T5, T6> ToRef for (T1, T2, T3, T4, T5, T6)
where T1: ToRef, T2: ToRef, T3: ToRef, T4: ToRef, T5: ToRef, T6: ToRef,

source§

const MEM_TYPE: MemType = _

§

type Ref = (<T1 as ToRef>::Ref, <T2 as ToRef>::Ref, <T3 as ToRef>::Ref, <T4 as ToRef>::Ref, <T5 as ToRef>::Ref, <T6 as ToRef>::Ref)

source§

fn to_size<const INCLUDE_SELF: bool>(&self, acc: &mut usize)

source§

fn to_ref(&self, buffer: &mut Writer) -> Self::Ref

source§

impl<T1, T2, T3, T4, T5, T6, T7> ToRef for (T1, T2, T3, T4, T5, T6, T7)
where T1: ToRef, T2: ToRef, T3: ToRef, T4: ToRef, T5: ToRef, T6: ToRef, T7: ToRef,

source§

const MEM_TYPE: MemType = _

§

type Ref = (<T1 as ToRef>::Ref, <T2 as ToRef>::Ref, <T3 as ToRef>::Ref, <T4 as ToRef>::Ref, <T5 as ToRef>::Ref, <T6 as ToRef>::Ref, <T7 as ToRef>::Ref)

source§

fn to_size<const INCLUDE_SELF: bool>(&self, acc: &mut usize)

source§

fn to_ref(&self, buffer: &mut Writer) -> Self::Ref

source§

impl<T1, T2, T3, T4, T5, T6, T7, T8> ToRef for (T1, T2, T3, T4, T5, T6, T7, T8)
where T1: ToRef, T2: ToRef, T3: ToRef, T4: ToRef, T5: ToRef, T6: ToRef, T7: ToRef, T8: ToRef,

source§

const MEM_TYPE: MemType = _

§

type Ref = (<T1 as ToRef>::Ref, <T2 as ToRef>::Ref, <T3 as ToRef>::Ref, <T4 as ToRef>::Ref, <T5 as ToRef>::Ref, <T6 as ToRef>::Ref, <T7 as ToRef>::Ref, <T8 as ToRef>::Ref)

source§

fn to_size<const INCLUDE_SELF: bool>(&self, acc: &mut usize)

source§

fn to_ref(&self, buffer: &mut Writer) -> Self::Ref

source§

impl<T1, T2, T3, T4, T5, T6, T7, T8, T9> ToRef for (T1, T2, T3, T4, T5, T6, T7, T8, T9)
where T1: ToRef, T2: ToRef, T3: ToRef, T4: ToRef, T5: ToRef, T6: ToRef, T7: ToRef, T8: ToRef, T9: ToRef,

source§

const MEM_TYPE: MemType = _

§

type Ref = (<T1 as ToRef>::Ref, <T2 as ToRef>::Ref, <T3 as ToRef>::Ref, <T4 as ToRef>::Ref, <T5 as ToRef>::Ref, <T6 as ToRef>::Ref, <T7 as ToRef>::Ref, <T8 as ToRef>::Ref, <T9 as ToRef>::Ref)

source§

fn to_size<const INCLUDE_SELF: bool>(&self, acc: &mut usize)

source§

fn to_ref(&self, buffer: &mut Writer) -> Self::Ref

source§

impl<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10> ToRef for (T1, T2, T3, T4, T5, T6, T7, T8, T9, T10)
where T1: ToRef, T2: ToRef, T3: ToRef, T4: ToRef, T5: ToRef, T6: ToRef, T7: ToRef, T8: ToRef, T9: ToRef, T10: ToRef,

source§

const MEM_TYPE: MemType = _

§

type Ref = (<T1 as ToRef>::Ref, <T2 as ToRef>::Ref, <T3 as ToRef>::Ref, <T4 as ToRef>::Ref, <T5 as ToRef>::Ref, <T6 as ToRef>::Ref, <T7 as ToRef>::Ref, <T8 as ToRef>::Ref, <T9 as ToRef>::Ref, <T10 as ToRef>::Ref)

source§

fn to_size<const INCLUDE_SELF: bool>(&self, acc: &mut usize)

source§

fn to_ref(&self, buffer: &mut Writer) -> Self::Ref

source§

impl<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11> ToRef for (T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11)
where T1: ToRef, T2: ToRef, T3: ToRef, T4: ToRef, T5: ToRef, T6: ToRef, T7: ToRef, T8: ToRef, T9: ToRef, T10: ToRef, T11: ToRef,

source§

const MEM_TYPE: MemType = _

§

type Ref = (<T1 as ToRef>::Ref, <T2 as ToRef>::Ref, <T3 as ToRef>::Ref, <T4 as ToRef>::Ref, <T5 as ToRef>::Ref, <T6 as ToRef>::Ref, <T7 as ToRef>::Ref, <T8 as ToRef>::Ref, <T9 as ToRef>::Ref, <T10 as ToRef>::Ref, <T11 as ToRef>::Ref)

source§

fn to_size<const INCLUDE_SELF: bool>(&self, acc: &mut usize)

source§

fn to_ref(&self, buffer: &mut Writer) -> Self::Ref

source§

impl<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12> ToRef for (T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12)
where T1: ToRef, T2: ToRef, T3: ToRef, T4: ToRef, T5: ToRef, T6: ToRef, T7: ToRef, T8: ToRef, T9: ToRef, T10: ToRef, T11: ToRef, T12: ToRef,

source§

const MEM_TYPE: MemType = _

§

type Ref = (<T1 as ToRef>::Ref, <T2 as ToRef>::Ref, <T3 as ToRef>::Ref, <T4 as ToRef>::Ref, <T5 as ToRef>::Ref, <T6 as ToRef>::Ref, <T7 as ToRef>::Ref, <T8 as ToRef>::Ref, <T9 as ToRef>::Ref, <T10 as ToRef>::Ref, <T11 as ToRef>::Ref, <T12 as ToRef>::Ref)

source§

fn to_size<const INCLUDE_SELF: bool>(&self, acc: &mut usize)

source§

fn to_ref(&self, buffer: &mut Writer) -> Self::Ref

source§

impl<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13> ToRef for (T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13)
where T1: ToRef, T2: ToRef, T3: ToRef, T4: ToRef, T5: ToRef, T6: ToRef, T7: ToRef, T8: ToRef, T9: ToRef, T10: ToRef, T11: ToRef, T12: ToRef, T13: ToRef,

source§

const MEM_TYPE: MemType = _

§

type Ref = (<T1 as ToRef>::Ref, <T2 as ToRef>::Ref, <T3 as ToRef>::Ref, <T4 as ToRef>::Ref, <T5 as ToRef>::Ref, <T6 as ToRef>::Ref, <T7 as ToRef>::Ref, <T8 as ToRef>::Ref, <T9 as ToRef>::Ref, <T10 as ToRef>::Ref, <T11 as ToRef>::Ref, <T12 as ToRef>::Ref, <T13 as ToRef>::Ref)

source§

fn to_size<const INCLUDE_SELF: bool>(&self, acc: &mut usize)

source§

fn to_ref(&self, buffer: &mut Writer) -> Self::Ref

source§

impl<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14> ToRef for (T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14)
where T1: ToRef, T2: ToRef, T3: ToRef, T4: ToRef, T5: ToRef, T6: ToRef, T7: ToRef, T8: ToRef, T9: ToRef, T10: ToRef, T11: ToRef, T12: ToRef, T13: ToRef, T14: ToRef,

source§

const MEM_TYPE: MemType = _

§

type Ref = (<T1 as ToRef>::Ref, <T2 as ToRef>::Ref, <T3 as ToRef>::Ref, <T4 as ToRef>::Ref, <T5 as ToRef>::Ref, <T6 as ToRef>::Ref, <T7 as ToRef>::Ref, <T8 as ToRef>::Ref, <T9 as ToRef>::Ref, <T10 as ToRef>::Ref, <T11 as ToRef>::Ref, <T12 as ToRef>::Ref, <T13 as ToRef>::Ref, <T14 as ToRef>::Ref)

source§

fn to_size<const INCLUDE_SELF: bool>(&self, acc: &mut usize)

source§

fn to_ref(&self, buffer: &mut Writer) -> Self::Ref

source§

impl<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15> ToRef for (T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15)
where T1: ToRef, T2: ToRef, T3: ToRef, T4: ToRef, T5: ToRef, T6: ToRef, T7: ToRef, T8: ToRef, T9: ToRef, T10: ToRef, T11: ToRef, T12: ToRef, T13: ToRef, T14: ToRef, T15: ToRef,

source§

const MEM_TYPE: MemType = _

§

type Ref = (<T1 as ToRef>::Ref, <T2 as ToRef>::Ref, <T3 as ToRef>::Ref, <T4 as ToRef>::Ref, <T5 as ToRef>::Ref, <T6 as ToRef>::Ref, <T7 as ToRef>::Ref, <T8 as ToRef>::Ref, <T9 as ToRef>::Ref, <T10 as ToRef>::Ref, <T11 as ToRef>::Ref, <T12 as ToRef>::Ref, <T13 as ToRef>::Ref, <T14 as ToRef>::Ref, <T15 as ToRef>::Ref)

source§

fn to_size<const INCLUDE_SELF: bool>(&self, acc: &mut usize)

source§

fn to_ref(&self, buffer: &mut Writer) -> Self::Ref

source§

impl<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16> ToRef for (T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16)
where T1: ToRef, T2: ToRef, T3: ToRef, T4: ToRef, T5: ToRef, T6: ToRef, T7: ToRef, T8: ToRef, T9: ToRef, T10: ToRef, T11: ToRef, T12: ToRef, T13: ToRef, T14: ToRef, T15: ToRef, T16: ToRef,

source§

const MEM_TYPE: MemType = _

§

type Ref = (<T1 as ToRef>::Ref, <T2 as ToRef>::Ref, <T3 as ToRef>::Ref, <T4 as ToRef>::Ref, <T5 as ToRef>::Ref, <T6 as ToRef>::Ref, <T7 as ToRef>::Ref, <T8 as ToRef>::Ref, <T9 as ToRef>::Ref, <T10 as ToRef>::Ref, <T11 as ToRef>::Ref, <T12 as ToRef>::Ref, <T13 as ToRef>::Ref, <T14 as ToRef>::Ref, <T15 as ToRef>::Ref, <T16 as ToRef>::Ref)

source§

fn to_size<const INCLUDE_SELF: bool>(&self, acc: &mut usize)

source§

fn to_ref(&self, buffer: &mut Writer) -> Self::Ref

source§

impl<T: ToRef> ToRef for &T

source§

const MEM_TYPE: MemType = T::MEM_TYPE

§

type Ref = <T as ToRef>::Ref

source§

fn to_size<const INCLUDE_SELF: bool>(&self, acc: &mut usize)

source§

fn to_ref(&self, buffer: &mut Writer) -> Self::Ref

source§

impl<T: ToRef> ToRef for Vec<T>

source§

const MEM_TYPE: MemType = _

§

type Ref = ListRef

source§

fn to_size<const INCLUDE_SELF: bool>(&self, acc: &mut usize)

source§

fn to_ref(&self, writer: &mut Writer) -> Self::Ref

Implementors§