pub struct Tuple<T> { /* private fields */ }
Expand description
Wrapper type for tuple representation in Google Schema
Represents tuples as objects with positional field names (“0”, “1”, etc). Supports tuples up to 16 elements.
§Example
use google_ai_rs::{Tuple, Schema, AsSchema};
type StringIntPair = Tuple<(String, i32)>;
let schema = Schema {
r#type: SchemaType::Object as i32,
properties: [
("0".to_string(), String::as_schema()),
("1".to_string(), i32::as_schema()),
]
.into(),
required: ["0".to_string(), "1".to_string()].into(),
..Default::default()
};
assert_eq!(schema, StringIntPair::as_schema())
For tuple structs, prefer AsSchemaWithSerde
derive:
#[derive(AsSchemaWithSerde)]
struct Point(f32, f32);
Deserialization Note:
Requires serde
feature
Implementations§
Trait Implementations§
Source§impl<T0, T1, T2> AsSchema for Tuple<(T0, T1, T2)>
impl<T0, T1, T2> AsSchema for Tuple<(T0, T1, T2)>
Source§impl<T0, T1, T2, T3> AsSchema for Tuple<(T0, T1, T2, T3)>
impl<T0, T1, T2, T3> AsSchema for Tuple<(T0, T1, T2, T3)>
Source§impl<T0, T1, T2, T3, T4> AsSchema for Tuple<(T0, T1, T2, T3, T4)>
impl<T0, T1, T2, T3, T4> AsSchema for Tuple<(T0, T1, T2, T3, T4)>
Source§impl<T0, T1, T2, T3, T4, T5> AsSchema for Tuple<(T0, T1, T2, T3, T4, T5)>
impl<T0, T1, T2, T3, T4, T5> AsSchema for Tuple<(T0, T1, T2, T3, T4, T5)>
Source§impl<T0, T1, T2, T3, T4, T5, T6> AsSchema for Tuple<(T0, T1, T2, T3, T4, T5, T6)>
impl<T0, T1, T2, T3, T4, T5, T6> AsSchema for Tuple<(T0, T1, T2, T3, T4, T5, T6)>
Source§impl<T0, T1, T2, T3, T4, T5, T6, T7> AsSchema for Tuple<(T0, T1, T2, T3, T4, T5, T6, T7)>
impl<T0, T1, T2, T3, T4, T5, T6, T7> AsSchema for Tuple<(T0, T1, T2, T3, T4, T5, T6, T7)>
Source§impl<T0, T1, T2, T3, T4, T5, T6, T7, T8> AsSchema for Tuple<(T0, T1, T2, T3, T4, T5, T6, T7, T8)>
impl<T0, T1, T2, T3, T4, T5, T6, T7, T8> AsSchema for Tuple<(T0, T1, T2, T3, T4, T5, T6, T7, T8)>
Source§impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9> AsSchema for Tuple<(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9)>
impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9> AsSchema for Tuple<(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9)>
Source§impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10> AsSchema for Tuple<(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10)>
impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10> AsSchema for Tuple<(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10)>
Source§impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11> AsSchema for Tuple<(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11)>
impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11> AsSchema for Tuple<(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11)>
Source§impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12> AsSchema for Tuple<(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12)>
impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12> AsSchema for Tuple<(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12)>
Source§impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13> AsSchema for Tuple<(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13)>
impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13> AsSchema for Tuple<(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13)>
Source§impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14> AsSchema for Tuple<(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14)>
impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14> AsSchema for Tuple<(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14)>
Source§impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15> AsSchema for Tuple<(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15)>
impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15> AsSchema for Tuple<(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15)>
Auto Trait Implementations§
impl<T> Freeze for Tuple<T>where
T: Freeze,
impl<T> RefUnwindSafe for Tuple<T>where
T: RefUnwindSafe,
impl<T> Send for Tuple<T>where
T: Send,
impl<T> Sync for Tuple<T>where
T: Sync,
impl<T> Unpin for Tuple<T>where
T: Unpin,
impl<T> UnwindSafe for Tuple<T>where
T: UnwindSafe,
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
Source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
Wrap the input message
T
in a tonic::Request