mesh_protobuf::protofile

Trait DescribeField

Source
pub trait DescribeField<T> {
    const FIELD_TYPE: FieldType<'static>;
    const PACKED_TYPE: Option<&'static str> = None;
}
Expand description

A trait for a self-describing protobuf message field.

Required Associated Constants§

Source

const FIELD_TYPE: FieldType<'static>

The type of the field.

Provided Associated Constants§

Source

const PACKED_TYPE: Option<&'static str> = None

The type name of the field in a packed context.

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.

Implementors§

Source§

impl DescribeField<Cow<'_, str>> for BorrowedCowField

Source§

impl DescribeField<Cow<'_, str>> for OwningCowField

Source§

impl DescribeField<bool> for VarintField

Source§

impl DescribeField<f32> for Fixed32Field

Source§

impl DescribeField<f64> for Fixed64Field

Source§

impl DescribeField<i8> for SignedVarintField

Source§

impl DescribeField<i8> for VarintField

Source§

impl DescribeField<i16> for SignedVarintField

Source§

impl DescribeField<i16> for VarintField

Source§

impl DescribeField<i32> for Fixed32Field

Source§

impl DescribeField<i32> for SignedVarintField

Source§

impl DescribeField<i32> for VarintField

Source§

impl DescribeField<i64> for Fixed64Field

Source§

impl DescribeField<i64> for SignedVarintField

Source§

impl DescribeField<i64> for VarintField

Source§

impl DescribeField<isize> for SignedVarintField

Source§

impl DescribeField<isize> for VarintField

Source§

impl DescribeField<u8> for ByteField

Source§

impl DescribeField<u8> for VarintField

Source§

impl DescribeField<u16> for VarintField

Source§

impl DescribeField<u32> for Fixed32Field

Source§

impl DescribeField<u32> for VarintField

Source§

impl DescribeField<u64> for Fixed64Field

Source§

impl DescribeField<u64> for VarintField

Source§

impl DescribeField<u128> for U128LittleEndianField

Source§

impl DescribeField<()> for TableEncoder

Source§

impl DescribeField<usize> for VarintField

Source§

impl DescribeField<ProtobufMessage> for MessageEncoding<ProtobufMessageEncoding>

Source§

impl DescribeField<NonZero<i8>> for VarintField

Source§

impl DescribeField<NonZero<i16>> for VarintField

Source§

impl DescribeField<NonZero<i32>> for VarintField

Source§

impl DescribeField<NonZero<i64>> for VarintField

Source§

impl DescribeField<NonZero<isize>> for VarintField

Source§

impl DescribeField<NonZero<u8>> for VarintField

Source§

impl DescribeField<NonZero<u16>> for VarintField

Source§

impl DescribeField<NonZero<u32>> for VarintField

Source§

impl DescribeField<NonZero<u64>> for VarintField

Source§

impl DescribeField<NonZero<usize>> for VarintField

Source§

impl DescribeField<Duration> for DurationEncoding

Source§

impl<E0> DescribeField<(E0,)> for TableEncoder

Source§

impl<E0, E1> DescribeField<(E0, E1)> for TableEncoder

Source§

impl<E0, E1, E2> DescribeField<(E0, E1, E2)> for TableEncoder

Source§

impl<E0, E1, E2, E3> DescribeField<(E0, E1, E2, E3)> for TableEncoder

Source§

impl<E0, E1, E2, E3, E4> DescribeField<(E0, E1, E2, E3, E4)> for TableEncoder

Source§

impl<E0, E1, E2, E3, E4, E5> DescribeField<(E0, E1, E2, E3, E4, E5)> for TableEncoder

Source§

impl<E0, E1, E2, E3, E4, E5, E6> DescribeField<(E0, E1, E2, E3, E4, E5, E6)> for TableEncoder

Source§

impl<E: DescribeField<T>, T> DescribeField<T> for ArcEncoding<E>

Source§

const FIELD_TYPE: FieldType<'static> = E::FIELD_TYPE

Source§

impl<E: DescribeField<T>, T> DescribeField<T> for BoxEncoding<E>

Source§

const FIELD_TYPE: FieldType<'static> = E::FIELD_TYPE

Source§

impl<E: DescribeMessage<T>, T> DescribeField<T> for MessageEncoding<E>

Source§

impl<T> DescribeField<T> for ZeroCopyEncoding

Source§

impl<T, E: DescribeField<T>> DescribeField<Option<T>> for OptionField<E>

Source§

impl<T, E: DescribeField<T>> DescribeField<Vec<T>> for VecField<E>

Source§

impl<T, E: DescribeField<T>, const N: usize> DescribeField<[T; N]> for ArrayField<E>

Source§

impl<T, K, V, EK: DescribeField<K>, EV: DescribeField<V>> DescribeField<T> for MapField<K, V, EK, EV>

Source§

impl<T: DescribeOneof> DescribeField<T> for OneofEncoder

Source§

impl<T: DescribeTable> DescribeField<T> for TableEncoder

Source§

impl<T: Transparent, E: DescribeField<T::Inner>> DescribeField<T> for TransparentEncoding<E>

Source§

const FIELD_TYPE: FieldType<'static> = E::FIELD_TYPE

Source§

const PACKED_TYPE: Option<&'static str> = E::PACKED_TYPE

Source§

impl<T: AsRef<str>> DescribeField<T> for StringField

Source§

impl<T: AsRef<[u8]>> DescribeField<T> for BytesField