Skip to main content

StructView

Struct StructView 

Source
pub struct StructView<'a> {
    pub fields: MapView<'a, &'a str, ValueView<'a>>,
    pub __buffa_unknown_fields: UnknownFieldsView<'a>,
}
Expand description

Struct represents a structured data value, consisting of fields which map to dynamically typed values. In some languages, Struct might be supported by a native representation. For example, in scripting languages like JS a struct is represented as an object. The details of that representation are described together with the proto support for the language.

The JSON representation for Struct is JSON object.

Fields§

§fields: MapView<'a, &'a str, ValueView<'a>>

Unordered map of dynamically typed values.

Field 1: fields (map)

§__buffa_unknown_fields: UnknownFieldsView<'a>

Trait Implementations§

Source§

impl<'a> Clone for StructView<'a>

Source§

fn clone(&self) -> StructView<'a>

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl<'a> Debug for StructView<'a>

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl<'a> Default for StructView<'a>

Source§

fn default() -> StructView<'a>

Returns the “default value” for a type. Read more
Source§

impl<'v> DefaultViewInstance for StructView<'v>

Source§

fn default_view_instance<'a>() -> &'a Self
where Self: 'a,

Return a reference to the single default view instance. Read more
Source§

impl<'a> MessageView<'a> for StructView<'a>

Source§

type Owned = Struct

The corresponding owned message type.
Source§

fn decode_view(buf: &'a [u8]) -> Result<Self, DecodeError>

Decode a view from a buffer, borrowing string/bytes fields directly. Read more
Source§

fn decode_view_with_limit( buf: &'a [u8], depth: u32, ) -> Result<Self, DecodeError>

Decode a view with a custom recursion depth limit. Read more
Source§

fn to_owned_message(&self) -> Struct

Convert this view to the owned message type. Read more
Source§

fn to_owned_from_source(&self, __buffa_src: Option<&Bytes>) -> Struct

Convert this view to the owned message type, optionally slicing bytes::Bytes-typed fields from source instead of copying. Read more
Source§

impl<'a> ViewEncode<'a> for StructView<'a>

Source§

fn compute_size(&self, __cache: &mut SizeCache) -> u32

Compute the encoded byte size of this view, recording nested sub-message sizes in cache for write_to to consume. Read more
Source§

fn write_to(&self, __cache: &mut SizeCache, buf: &mut impl BufMut)

Write this view’s encoded bytes to a buffer, consuming nested-message sizes from cache (populated by a prior compute_size call on the same cache). Read more
Source§

fn encode(&self, buf: &mut impl BufMut)

Compute size, then write. Primary view-encode entry point.
Source§

fn encode_with_cache(&self, cache: &mut SizeCache, buf: &mut impl BufMut)

Encode using a caller-supplied SizeCache, for reuse across many encodes in a hot loop. Clears the cache first.
Source§

fn encoded_len(&self) -> u32

Compute the encoded byte size of this view. Read more
Source§

fn encode_length_delimited(&self, buf: &mut impl BufMut)

Encode this view as a length-delimited byte sequence.
Source§

fn encode_to_vec(&self) -> Vec<u8>

Encode this view to a new Vec<u8>.
Source§

fn encode_to_bytes(&self) -> Bytes

Encode this view to a new bytes::Bytes.
Source§

impl ViewReborrow for StructView<'static>

Source§

type Reborrowed<'b> = StructView<'b>

The same view type with its lifetime shortened to 'b.
Source§

fn reborrow<'b>(this: &'b Self) -> &'b Self::Reborrowed<'b>

Coerce &'b Self (= &'b FooView<'static>) to &'b Self::Reborrowed<'b> (= &'b FooView<'b>). The canonical body is just this; the compiler accepts it via standard lifetime variance for covariant view types. Read more

Auto Trait Implementations§

§

impl<'a> Freeze for StructView<'a>

§

impl<'a> RefUnwindSafe for StructView<'a>

§

impl<'a> Send for StructView<'a>

§

impl<'a> Sync for StructView<'a>

§

impl<'a> Unpin for StructView<'a>

§

impl<'a> UnsafeUnpin for StructView<'a>

§

impl<'a> UnwindSafe for StructView<'a>

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.