#[repr(C)]pub struct DynamicValueVTable {Show 28 fields
pub set_null: unsafe fn(PtrUninit),
pub set_bool: unsafe fn(PtrUninit, bool),
pub set_i64: unsafe fn(PtrUninit, i64),
pub set_u64: unsafe fn(PtrUninit, u64),
pub set_f64: unsafe fn(PtrUninit, f64) -> bool,
pub set_str: unsafe fn(PtrUninit, &str),
pub set_bytes: Option<unsafe fn(PtrUninit, &[u8])>,
pub set_datetime: Option<unsafe fn(PtrUninit, i32, u8, u8, u8, u8, u8, u32, DynDateTimeKind)>,
pub begin_array: unsafe fn(PtrUninit),
pub push_array_element: unsafe fn(PtrMut, PtrMut),
pub end_array: Option<unsafe fn(PtrMut)>,
pub begin_object: unsafe fn(PtrUninit),
pub insert_object_entry: unsafe fn(PtrMut, &str, PtrMut),
pub end_object: Option<unsafe fn(PtrMut)>,
pub get_kind: unsafe fn(PtrConst) -> DynValueKind,
pub get_bool: unsafe fn(PtrConst) -> Option<bool>,
pub get_i64: unsafe fn(PtrConst) -> Option<i64>,
pub get_u64: unsafe fn(PtrConst) -> Option<u64>,
pub get_f64: unsafe fn(PtrConst) -> Option<f64>,
pub get_str: unsafe fn(PtrConst) -> Option<&'static str>,
pub get_bytes: Option<unsafe fn(PtrConst) -> Option<&'static [u8]>>,
pub get_datetime: Option<unsafe fn(PtrConst) -> Option<(i32, u8, u8, u8, u8, u8, u32, DynDateTimeKind)>>,
pub array_len: unsafe fn(PtrConst) -> Option<usize>,
pub array_get: unsafe fn(PtrConst, usize) -> Option<PtrConst>,
pub object_len: unsafe fn(PtrConst) -> Option<usize>,
pub object_get_entry: unsafe fn(PtrConst, usize) -> Option<(&'static str, PtrConst)>,
pub object_get: for<'a> unsafe fn(PtrConst, &str) -> Option<PtrConst>,
pub object_get_mut: Option<for<'a> unsafe fn(PtrMut, &str) -> Option<PtrMut>>,
}Expand description
Virtual table for dynamic value types.
This provides all the operations needed to build and read dynamic values without knowing their concrete type at compile time.
Fields§
§set_null: unsafe fn(PtrUninit)Set to null
set_bool: unsafe fn(PtrUninit, bool)Set to boolean
set_i64: unsafe fn(PtrUninit, i64)Set to i64
set_u64: unsafe fn(PtrUninit, u64)Set to u64
set_f64: unsafe fn(PtrUninit, f64) -> boolSet to f64 (returns false if value not representable)
set_str: unsafe fn(PtrUninit, &str)Set to string
set_bytes: Option<unsafe fn(PtrUninit, &[u8])>Set to bytes (optional - not all dynamic value types support bytes)
set_datetime: Option<unsafe fn(PtrUninit, i32, u8, u8, u8, u8, u8, u32, DynDateTimeKind)>Set to datetime (optional - not all dynamic value types support datetime)
begin_array: unsafe fn(PtrUninit)Initialize as empty array
push_array_element: unsafe fn(PtrMut, PtrMut)Push element to array
end_array: Option<unsafe fn(PtrMut)>Finalize array (optional)
begin_object: unsafe fn(PtrUninit)Initialize as empty object
insert_object_entry: unsafe fn(PtrMut, &str, PtrMut)Insert key-value pair
end_object: Option<unsafe fn(PtrMut)>Finalize object (optional)
get_kind: unsafe fn(PtrConst) -> DynValueKindGet the kind of value
get_bool: unsafe fn(PtrConst) -> Option<bool>Get bool value
get_i64: unsafe fn(PtrConst) -> Option<i64>Get i64 value
get_u64: unsafe fn(PtrConst) -> Option<u64>Get u64 value
get_f64: unsafe fn(PtrConst) -> Option<f64>Get f64 value
get_str: unsafe fn(PtrConst) -> Option<&'static str>Get string reference
get_bytes: Option<unsafe fn(PtrConst) -> Option<&'static [u8]>>Get bytes reference
get_datetime: Option<unsafe fn(PtrConst) -> Option<(i32, u8, u8, u8, u8, u8, u32, DynDateTimeKind)>>Get datetime components
array_len: unsafe fn(PtrConst) -> Option<usize>Get array length
array_get: unsafe fn(PtrConst, usize) -> Option<PtrConst>Get array element by index
object_len: unsafe fn(PtrConst) -> Option<usize>Get object length
object_get_entry: unsafe fn(PtrConst, usize) -> Option<(&'static str, PtrConst)>Get object entry by index
object_get: for<'a> unsafe fn(PtrConst, &str) -> Option<PtrConst>Get object value by key
object_get_mut: Option<for<'a> unsafe fn(PtrMut, &str) -> Option<PtrMut>>Get mutable reference to object value by key (for navigating into existing entries)
Trait Implementations§
Source§impl Clone for DynamicValueVTable
impl Clone for DynamicValueVTable
Source§fn clone(&self) -> DynamicValueVTable
fn clone(&self) -> DynamicValueVTable
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more