pub trait IntoParts: Sealed {
// Required method
fn into_parts(self) -> Vec<Part>;
}
Expand description
Conversion trait for types that can be represented as single/multiple content parts
§Implementations
&str
→ Text partString
→ Text partPart
→ Direct passthroughVec<T: IntoParts>
→ Flattened parts- Arrays/slices of
T: IntoParts
- Tuples of
any implementations of IntoParts
up-to 16 elements
§Examples
use google_ai_rs::Part;
use google_ai_rs::content::IntoParts as _;
// Single item
let parts = "hello".into_parts();
// Mixed collection
let parts = (
"text",
Part::blob("image/png", bytes),
String::from("another")
).into_parts();
Required Methods§
fn into_parts(self) -> Vec<Part>
Implementations on Foreign Types§
Source§impl IntoParts for ()
impl IntoParts for ()
Source§fn into_parts(self) -> Vec<Part>
fn into_parts(self) -> Vec<Part>
This trait is implemented for tuples up to sixteen items long.
Source§impl<T0> IntoParts for (T0,)where
T0: IntoParts,
impl<T0> IntoParts for (T0,)where
T0: IntoParts,
Source§fn into_parts(self) -> Vec<Part>
fn into_parts(self) -> Vec<Part>
This trait is implemented for tuples up to sixteen items long.
Source§impl<T0, T1> IntoParts for (T0, T1)
impl<T0, T1> IntoParts for (T0, T1)
Source§fn into_parts(self) -> Vec<Part>
fn into_parts(self) -> Vec<Part>
This trait is implemented for tuples up to sixteen items long.
Source§impl<T0, T1, T2> IntoParts for (T0, T1, T2)
impl<T0, T1, T2> IntoParts for (T0, T1, T2)
Source§fn into_parts(self) -> Vec<Part>
fn into_parts(self) -> Vec<Part>
This trait is implemented for tuples up to sixteen items long.
Source§impl<T0, T1, T2, T3> IntoParts for (T0, T1, T2, T3)
impl<T0, T1, T2, T3> IntoParts for (T0, T1, T2, T3)
Source§fn into_parts(self) -> Vec<Part>
fn into_parts(self) -> Vec<Part>
This trait is implemented for tuples up to sixteen items long.
Source§impl<T0, T1, T2, T3, T4> IntoParts for (T0, T1, T2, T3, T4)
impl<T0, T1, T2, T3, T4> IntoParts for (T0, T1, T2, T3, T4)
Source§fn into_parts(self) -> Vec<Part>
fn into_parts(self) -> Vec<Part>
This trait is implemented for tuples up to sixteen items long.
Source§impl<T0, T1, T2, T3, T4, T5> IntoParts for (T0, T1, T2, T3, T4, T5)
impl<T0, T1, T2, T3, T4, T5> IntoParts for (T0, T1, T2, T3, T4, T5)
Source§fn into_parts(self) -> Vec<Part>
fn into_parts(self) -> Vec<Part>
This trait is implemented for tuples up to sixteen items long.
Source§impl<T0, T1, T2, T3, T4, T5, T6> IntoParts for (T0, T1, T2, T3, T4, T5, T6)
impl<T0, T1, T2, T3, T4, T5, T6> IntoParts for (T0, T1, T2, T3, T4, T5, T6)
Source§fn into_parts(self) -> Vec<Part>
fn into_parts(self) -> Vec<Part>
This trait is implemented for tuples up to sixteen items long.
Source§impl<T0, T1, T2, T3, T4, T5, T6, T7> IntoParts for (T0, T1, T2, T3, T4, T5, T6, T7)
impl<T0, T1, T2, T3, T4, T5, T6, T7> IntoParts for (T0, T1, T2, T3, T4, T5, T6, T7)
Source§fn into_parts(self) -> Vec<Part>
fn into_parts(self) -> Vec<Part>
This trait is implemented for tuples up to sixteen items long.
Source§impl<T0, T1, T2, T3, T4, T5, T6, T7, T8> IntoParts for (T0, T1, T2, T3, T4, T5, T6, T7, T8)
impl<T0, T1, T2, T3, T4, T5, T6, T7, T8> IntoParts for (T0, T1, T2, T3, T4, T5, T6, T7, T8)
Source§fn into_parts(self) -> Vec<Part>
fn into_parts(self) -> Vec<Part>
This trait is implemented for tuples up to sixteen items long.
Source§impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9> IntoParts for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9)
impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9> IntoParts for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9)
Source§fn into_parts(self) -> Vec<Part>
fn into_parts(self) -> Vec<Part>
This trait is implemented for tuples up to sixteen items long.
Source§impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10> IntoParts for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10)
impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10> IntoParts for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10)
Source§fn into_parts(self) -> Vec<Part>
fn into_parts(self) -> Vec<Part>
This trait is implemented for tuples up to sixteen items long.
Source§impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11> IntoParts for (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> IntoParts for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11)
Source§fn into_parts(self) -> Vec<Part>
fn into_parts(self) -> Vec<Part>
This trait is implemented for tuples up to sixteen items long.
Source§impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12> IntoParts for (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> IntoParts for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12)
Source§fn into_parts(self) -> Vec<Part>
fn into_parts(self) -> Vec<Part>
This trait is implemented for tuples up to sixteen items long.
Source§impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13> IntoParts for (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> IntoParts for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13)
Source§fn into_parts(self) -> Vec<Part>
fn into_parts(self) -> Vec<Part>
This trait is implemented for tuples up to sixteen items long.
Source§impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14> IntoParts for (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> IntoParts for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14)
Source§fn into_parts(self) -> Vec<Part>
fn into_parts(self) -> Vec<Part>
This trait is implemented for tuples up to sixteen items long.
Source§impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15> IntoParts for (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> IntoParts for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15)
Source§fn into_parts(self) -> Vec<Part>
fn into_parts(self) -> Vec<Part>
This trait is implemented for tuples up to sixteen items long.