AnyImpl

Trait AnyImpl 

Source
pub trait AnyImpl {
    // Required methods
    fn columns() -> Vec<AnyInfo>;
    fn to_map(&self) -> HashMap<String, String>;
}
Expand description

A trait for types that can be mapped from an AnyRow and provide column metadata.

This trait is the backbone of the ORM’s reflection capabilities. It allows the system to know which columns correspond to which fields in a Rust struct.

This trait is typically implemented automatically via the FromAnyRow derive macro, but can be implemented manually for custom scenarios.

Required Methods§

Source

fn columns() -> Vec<AnyInfo>

Returns a vector of AnyInfo describing the columns associated with this type.

Source

fn to_map(&self) -> HashMap<String, String>

Converts this instance to a HashMap for dynamic query building.

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.

Implementations on Foreign Types§

Source§

impl AnyImpl for bool

Source§

impl AnyImpl for f32

Source§

impl AnyImpl for f64

Source§

impl AnyImpl for i8

Source§

impl AnyImpl for i16

Source§

impl AnyImpl for i32

Source§

impl AnyImpl for i64

Source§

impl AnyImpl for isize

Source§

impl AnyImpl for u8

Source§

impl AnyImpl for u16

Source§

impl AnyImpl for u32

Source§

impl AnyImpl for u64

Source§

impl AnyImpl for usize

Source§

impl AnyImpl for String

Source§

impl AnyImpl for DateTime<Utc>

Source§

impl AnyImpl for NaiveDate

Source§

impl AnyImpl for NaiveDateTime

Source§

impl AnyImpl for NaiveTime

Source§

impl AnyImpl for Uuid

Source§

impl<T1: AnyImpl> AnyImpl for (T1,)

Source§

impl<T1: AnyImpl, T2: AnyImpl> AnyImpl for (T1, T2)

Source§

impl<T1: AnyImpl, T2: AnyImpl, T3: AnyImpl> AnyImpl for (T1, T2, T3)

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

impl<T: AnyImpl> AnyImpl for Option<T>

Implementors§