Struct Value

Source
pub struct Value<'val> { /* private fields */ }
Expand description

值的引用

Implementations§

Source§

impl<'val> Value<'val>

Source

pub fn get_type(&self) -> ValueType

获取值的类型

Source

pub fn is_null(&self) -> bool

判断值是否为NULL

Source

pub fn is_object(&self) -> bool

判断值的类型是否为对象

Source

pub fn is_array(&self) -> bool

判断值的类型是否为数组

Source

pub fn is_enum(&self) -> bool

判断值的类型是否为枚举

Source

pub fn is_ref(&self) -> bool

判断值是否为引用传递

Source

pub fn is_readonly(&self) -> bool

判断值是否为只读传递

Source

pub fn get_int(&self) -> Option<pbint>

获取int类型值

§Panics

类型不匹配时会触发Panic

Source

pub fn try_get_int(&self) -> Result<Option<pbint>>

尝试获取int类型值

§Returns

类型不匹配时返回Err(PBXRESULT::E_MISMATCHED_DATA_TYPE)

Source

pub unsafe fn get_int_unchecked(&self) -> Option<pbint>

获取int类型值,不检查类型

§Safety

类型不兼容时可能会出现未定义行为

Source

pub fn get_uint(&self) -> Option<pbuint>

获取uint类型值

§Panics

类型不匹配时会触发Panic

Source

pub fn try_get_uint(&self) -> Result<Option<pbuint>>

尝试获取uint类型值

§Returns

类型不匹配时返回Err(PBXRESULT::E_MISMATCHED_DATA_TYPE)

Source

pub unsafe fn get_uint_unchecked(&self) -> Option<pbuint>

获取uint类型值,不检查类型

§Safety

类型不兼容时可能会出现未定义行为

Source

pub fn get_long(&self) -> Option<pblong>

获取long类型值

§Panics

类型不匹配时会触发Panic

Source

pub fn try_get_long(&self) -> Result<Option<pblong>>

尝试获取long类型值

§Returns

类型不匹配时返回Err(PBXRESULT::E_MISMATCHED_DATA_TYPE)

Source

pub unsafe fn get_long_unchecked(&self) -> Option<pblong>

获取long类型值,不检查类型

§Safety

类型不兼容时可能会出现未定义行为

Source

pub fn get_ulong(&self) -> Option<pbulong>

获取ulong类型值

§Panics

类型不匹配时会触发Panic

Source

pub fn try_get_ulong(&self) -> Result<Option<pbulong>>

尝试获取ulong类型值

§Returns

类型不匹配时返回Err(PBXRESULT::E_MISMATCHED_DATA_TYPE)

Source

pub unsafe fn get_ulong_unchecked(&self) -> Option<pbulong>

获取ulong类型值,不检查类型

§Safety

类型不兼容时可能会出现未定义行为

Source

pub fn get_longlong(&self) -> Option<pblonglong>

获取longlong类型值

§Panics

类型不匹配时会触发Panic

Source

pub fn try_get_longlong(&self) -> Result<Option<pblonglong>>

尝试获取longlong类型值

§Returns

类型不匹配时返回Err(PBXRESULT::E_MISMATCHED_DATA_TYPE)

Source

pub unsafe fn get_longlong_unchecked(&self) -> Option<pblonglong>

获取longlong类型值,不检查类型

§Safety

类型不兼容时可能会出现未定义行为

Source

pub fn get_real(&self) -> Option<pbreal>

获取real类型值

§Panics

类型不匹配时会触发Panic

Source

pub fn try_get_real(&self) -> Result<Option<pbreal>>

尝试获取real类型值

§Returns

类型不匹配时返回Err(PBXRESULT::E_MISMATCHED_DATA_TYPE)

Source

pub unsafe fn get_real_unchecked(&self) -> Option<pbreal>

获取real类型值,不检查类型

§Safety

类型不兼容时可能会出现未定义行为

Source

pub fn get_double(&self) -> Option<pbdouble>

获取double类型值

§Panics

类型不匹配时会触发Panic

Source

pub fn try_get_double(&self) -> Result<Option<pbdouble>>

尝试获取double类型值

§Returns

类型不匹配时返回Err(PBXRESULT::E_MISMATCHED_DATA_TYPE)

Source

pub unsafe fn get_double_unchecked(&self) -> Option<pbdouble>

获取double类型值,不检查类型

§Safety

类型不兼容时可能会出现未定义行为

Source

pub fn get_dec(&self) -> Option<Decimal>

获取decimal类型值

§Panics

类型不匹配时会触发Panic

Source

pub fn try_get_dec(&self) -> Result<Option<Decimal>>

尝试获取decimal类型值

§Returns

类型不匹配时返回Err(PBXRESULT::E_MISMATCHED_DATA_TYPE)

Source

pub unsafe fn get_dec_unchecked(&self) -> Option<Decimal>

获取decimal类型值,不检查类型

§Safety

类型不兼容时可能会出现未定义行为

Source

pub fn get_bool(&self) -> Option<bool>

获取boolean类型值

§Panics

类型不匹配时会触发Panic

Source

pub fn try_get_bool(&self) -> Result<Option<bool>>

尝试获取boolean类型值

§Returns

类型不匹配时返回Err(PBXRESULT::E_MISMATCHED_DATA_TYPE)

Source

pub unsafe fn get_bool_unchecked(&self) -> Option<bool>

获取boolean类型值,不检查类型

§Safety

类型不兼容时可能会出现未定义行为

Source

pub fn get_byte(&self) -> Option<pbbyte>

获取byte类型值

§Panics

类型不匹配时会触发Panic

Source

pub fn try_get_byte(&self) -> Result<Option<pbbyte>>

尝试获取byte类型值

§Returns

类型不匹配时返回Err(PBXRESULT::E_MISMATCHED_DATA_TYPE)

Source

pub unsafe fn get_byte_unchecked(&self) -> Option<pbbyte>

获取byte类型值,不检查类型

§Safety

类型不兼容时可能会出现未定义行为

Source

pub fn get_char(&self) -> Option<WideChar>

获取char类型值

§Panics

类型不匹配时会触发Panic

Source

pub fn try_get_char(&self) -> Result<Option<WideChar>>

尝试获取char类型值

§Returns

类型不匹配时返回Err(PBXRESULT::E_MISMATCHED_DATA_TYPE)

Source

pub unsafe fn get_char_unchecked(&self) -> Option<WideChar>

获取char类型值,不检查类型

§Safety

类型不兼容时可能会出现未定义行为

Source

pub unsafe fn get_str(&self) -> Option<&'val PBStr>

获取string类型值的引用

§Panics

类型不匹配时会触发Panic

§Safety

引用类型不能保证始终有效,详情请阅读内存安全说明

Source

pub unsafe fn try_get_str(&self) -> Result<Option<&'val PBStr>>

尝试获取string类型值的引用

§Safety

引用类型不能保证始终有效,详情请阅读内存安全说明

§Returns

类型不匹配时返回Err(PBXRESULT::E_MISMATCHED_DATA_TYPE)

Source

pub unsafe fn get_str_unchecked(&self) -> Option<&'val PBStr>

获取char类型值,不检查类型

§Safety
  • 类型不兼容时可能会出现未定义行为
  • 引用类型不能保证始终有效,详情请阅读内存安全说明
Source

pub fn get_string(&self) -> Option<PBString>

获取string类型值

§Panics

类型不匹配时会触发Panic

Source

pub fn try_get_string(&self) -> Result<Option<PBString>>

尝试获取string类型值

§Returns

类型不匹配时返回Err(PBXRESULT::E_MISMATCHED_DATA_TYPE)

Source

pub fn get_date(&self) -> Option<NaiveDate>

获取date类型值

§Panics

类型不匹配时会触发Panic

Source

pub fn try_get_date(&self) -> Result<Option<NaiveDate>>

尝试获取date类型值

§Returns

类型不匹配时返回Err(PBXRESULT::E_MISMATCHED_DATA_TYPE)

Source

pub unsafe fn get_date_unchecked(&self) -> Option<NaiveDate>

获取date类型值,不检查类型

§Safety

类型不兼容时可能会出现未定义行为

Source

pub fn get_time(&self) -> Option<NaiveTime>

获取time类型值

§Panics

类型不匹配时会触发Panic

Source

pub fn try_get_time(&self) -> Result<Option<NaiveTime>>

尝试获取time类型值

§Returns

类型不匹配时返回Err(PBXRESULT::E_MISMATCHED_DATA_TYPE)

Source

pub unsafe fn get_time_unchecked(&self) -> Option<NaiveTime>

获取time类型值,不检查类型

§Safety

类型不兼容时可能会出现未定义行为

Source

pub fn get_datetime(&self) -> Option<NaiveDateTime>

获取datetime类型值

§Panics

类型不匹配时会触发Panic

Source

pub fn try_get_datetime(&self) -> Result<Option<NaiveDateTime>>

尝试获取datetime类型值

§Returns

类型不匹配时返回Err(PBXRESULT::E_MISMATCHED_DATA_TYPE)

Source

pub unsafe fn get_datetime_unchecked(&self) -> Option<NaiveDateTime>

获取datetime类型值,不检查类型

§Safety

类型不兼容时可能会出现未定义行为

Source

pub unsafe fn get_string_unchecked(&self) -> Option<PBString>

获取string类型值,不检查类型

§Safety

类型不兼容时可能会出现未定义行为

Source

pub unsafe fn get_object(&self) -> Option<Object<'val>>

获取对象类型值的引用

§Panics

类型不匹配时会触发Panic

§Safety

引用类型不能保证始终有效,详情请阅读内存安全说明

Source

pub unsafe fn try_get_object(&self) -> Result<Option<Object<'val>>>

尝试获取对象类型值的引用

§Safety

引用类型不能保证始终有效,详情请阅读内存安全说明

§Returns

类型不匹配时返回Err(PBXRESULT::E_MISMATCHED_DATA_TYPE)

Source

pub unsafe fn get_object_unchecked(&self) -> Option<Object<'val>>

获取对象类型值,不检查类型

§Safety
  • 类型不兼容时可能会出现未定义行为
  • 引用类型不能保证始终有效,详情请阅读内存安全说明
Source

pub unsafe fn get_array(&self) -> Option<Array<'val>>

获取数组类型值的引用

§Panics

类型不匹配时会触发Panic

§Safety

引用类型不能保证始终有效,详情请阅读内存安全说明

Source

pub unsafe fn try_get_array(&self) -> Result<Option<Array<'val>>>

尝试获取数组类型值的引用

§Safety

引用类型不能保证始终有效,详情请阅读内存安全说明

§Returns

类型不匹配时返回Err(PBXRESULT::E_MISMATCHED_DATA_TYPE)

Source

pub unsafe fn get_array_unchecked(&self) -> Option<Array<'val>>

获取数组类型值,不检查类型

§Safety
  • 类型不兼容时可能会出现未定义行为
  • 引用类型不能保证始终有效,详情请阅读内存安全说明
Source

pub unsafe fn get_blob(&self) -> Option<&'val [u8]>

获取blob类型值的引用

§Panics

类型不匹配时会触发Panic

§Safety

引用类型不能保证始终有效,详情请阅读内存安全说明

Source

pub unsafe fn try_get_blob(&self) -> Result<Option<&'val [u8]>>

尝试获取blob类型值的引用

§Safety

引用类型不能保证始终有效,详情请阅读内存安全说明

§Returns

类型不匹配时返回Err(PBXRESULT::E_MISMATCHED_DATA_TYPE)

Source

pub unsafe fn get_blob_unchecked(&self) -> Option<&'val [u8]>

获取数组blob值,不检查类型

§Safety
  • 类型不兼容时可能会出现未定义行为
  • 引用类型不能保证始终有效,详情请阅读内存安全说明
Source

pub fn set_to_null(&mut self) -> Result<()>

设置值为NULL

Source

pub fn set_int(&mut self, v: pbint) -> Result<()>

设置int类型的值

§Returns

类型不匹配时返回Err(PBXRESULT::E_MISMATCHED_DATA_TYPE)

Source

pub unsafe fn set_int_unchecked(&mut self, v: pbint) -> Result<()>

设置int类型的值,不检查类型

§Safety

类型不兼容时可能会出现未定义行为

Source

pub fn set_uint(&mut self, v: pbuint) -> Result<()>

设置uint类型的值

§Returns

类型不匹配时返回Err(PBXRESULT::E_MISMATCHED_DATA_TYPE)

Source

pub unsafe fn set_uint_unchecked(&mut self, v: pbuint) -> Result<()>

设置uint类型的值,不检查类型

§Safety

类型不兼容时可能会出现未定义行为

Source

pub fn set_long(&mut self, v: pblong) -> Result<()>

设置long类型的值

§Returns

类型不匹配时返回Err(PBXRESULT::E_MISMATCHED_DATA_TYPE)

Source

pub unsafe fn set_long_unchecked(&mut self, v: pblong) -> Result<()>

设置long类型的值,不检查类型

§Safety

类型不兼容时可能会出现未定义行为

Source

pub fn set_ulong(&mut self, v: pbulong) -> Result<()>

设置ulong类型的值

§Returns

类型不匹配时返回Err(PBXRESULT::E_MISMATCHED_DATA_TYPE)

Source

pub unsafe fn set_ulong_unchecked(&mut self, v: pbulong) -> Result<()>

设置ulong类型的值,不检查类型

§Safety

类型不兼容时可能会出现未定义行为

Source

pub fn set_longlong(&mut self, v: pblonglong) -> Result<()>

设置longlong类型的值

§Returns

类型不匹配时返回Err(PBXRESULT::E_MISMATCHED_DATA_TYPE)

Source

pub unsafe fn set_longlong_unchecked(&mut self, v: pblonglong) -> Result<()>

设置longlong类型的值,不检查类型

§Safety

类型不兼容时可能会出现未定义行为

Source

pub fn set_real(&mut self, v: pbreal) -> Result<()>

设置real类型的值

§Returns

类型不匹配时返回Err(PBXRESULT::E_MISMATCHED_DATA_TYPE)

Source

pub unsafe fn set_real_unchecked(&mut self, v: pbreal) -> Result<()>

设置real类型的值,不检查类型

§Safety

类型不兼容时可能会出现未定义行为

Source

pub fn set_double(&mut self, v: pbdouble) -> Result<()>

设置double类型的值

§Returns

类型不匹配时返回Err(PBXRESULT::E_MISMATCHED_DATA_TYPE)

Source

pub unsafe fn set_double_unchecked(&mut self, v: pbdouble) -> Result<()>

设置double类型的值,不检查类型

§Safety

类型不兼容时可能会出现未定义行为

Source

pub fn set_dec(&mut self, v: Decimal) -> Result<()>

设置decimal类型的值

§Returns

类型不匹配时返回Err(PBXRESULT::E_MISMATCHED_DATA_TYPE)

Source

pub unsafe fn set_dec_unchecked(&mut self, v: Decimal) -> Result<()>

设置decimal类型的值,不检查类型

§Safety

类型不兼容时可能会出现未定义行为

Source

pub fn set_bool(&mut self, v: bool) -> Result<()>

设置boolean类型的值

§Returns

类型不匹配时返回Err(PBXRESULT::E_MISMATCHED_DATA_TYPE)

Source

pub unsafe fn set_bool_unchecked(&mut self, v: bool) -> Result<()>

设置boolean类型的值,不检查类型

§Safety

类型不兼容时可能会出现未定义行为

Source

pub fn set_byte(&mut self, v: pbbyte) -> Result<()>

设置byte类型的值

§Returns

类型不匹配时返回Err(PBXRESULT::E_MISMATCHED_DATA_TYPE)

Source

pub unsafe fn set_byte_unchecked(&mut self, v: pbbyte) -> Result<()>

设置byte类型的值,不检查类型

§Safety

类型不兼容时可能会出现未定义行为

Source

pub fn set_char(&mut self, v: WideChar) -> Result<()>

设置char类型的值

§Returns

类型不匹配时返回Err(PBXRESULT::E_MISMATCHED_DATA_TYPE)

Source

pub unsafe fn set_char_unchecked(&mut self, v: WideChar) -> Result<()>

设置char类型的值,不检查类型

§Safety

类型不兼容时可能会出现未定义行为

Source

pub fn set_str(&mut self, v: impl AsPBStr) -> Result<()>

设置string类型的值

§Returns

类型不匹配时返回Err(PBXRESULT::E_MISMATCHED_DATA_TYPE)

Source

pub unsafe fn set_str_unchecked(&mut self, v: impl AsPBStr) -> Result<()>

设置string类型的值,不检查类型

§Safety

类型不兼容时可能会出现未定义行为

Source

pub fn set_date(&mut self, v: NaiveDate) -> Result<()>

设置date类型的值

§Returns

类型不匹配时返回Err(PBXRESULT::E_MISMATCHED_DATA_TYPE)

Source

pub unsafe fn set_date_unchecked(&mut self, v: NaiveDate) -> Result<()>

设置date类型的值,不检查类型

§Safety

类型不兼容时可能会出现未定义行为

Source

pub fn set_time(&mut self, v: NaiveTime) -> Result<()>

设置time类型的值

§Returns

类型不匹配时返回Err(PBXRESULT::E_MISMATCHED_DATA_TYPE)

Source

pub unsafe fn set_time_unchecked(&mut self, v: NaiveTime) -> Result<()>

设置time类型的值,不检查类型

§Safety

类型不兼容时可能会出现未定义行为

Source

pub fn set_datetime(&mut self, v: NaiveDateTime) -> Result<()>

设置datetime类型的值

§Returns

类型不匹配时返回Err(PBXRESULT::E_MISMATCHED_DATA_TYPE)

Source

pub unsafe fn set_datetime_unchecked(&mut self, v: NaiveDateTime) -> Result<()>

设置datetime类型的值,不检查类型

§Safety

类型不兼容时可能会出现未定义行为

Source

pub fn set_blob(&mut self, v: impl AsRef<[u8]>) -> Result<()>

设置blob类型的值

§Returns

类型不匹配时返回Err(PBXRESULT::E_MISMATCHED_DATA_TYPE)

Source

pub unsafe fn set_blob_unchecked(&mut self, v: impl AsRef<[u8]>) -> Result<()>

设置blob类型的值,不检查类型

§Safety

类型不兼容时可能会出现未定义行为

Source

pub fn set_object(&mut self, v: &Object<'_>) -> Result<()>

设置对象类型的值

§Returns

类型不匹配时返回Err(PBXRESULT::E_MISMATCHED_DATA_TYPE)

Source

pub unsafe fn set_object_unchecked(&mut self, v: &Object<'_>) -> Result<()>

设置对象类型的值,不检查类型

§Safety

类型不兼容时可能会出现未定义行为

Source

pub fn set_array(&mut self, v: &Array<'_>) -> Result<()>

设置数组类型的值

§Returns

类型不匹配时返回Err(PBXRESULT::E_MISMATCHED_DATA_TYPE)

Source

pub unsafe fn set_array_unchecked(&mut self, v: &Array<'_>) -> Result<()>

设置数组类型的值,不检查类型

§Safety

类型不兼容时可能会出现未定义行为

Source

pub unsafe fn set_value(&mut self, src: &Value<'_>)

src参数拷贝并覆盖现有值

§Safety

类型不兼容时可能会出现未定义行为

Source

pub fn acquire(self) -> OwnedValue

拷贝并转移所有权,self将被消耗

Auto Trait Implementations§

§

impl<'val> Freeze for Value<'val>

§

impl<'val> RefUnwindSafe for Value<'val>

§

impl<'val> !Send for Value<'val>

§

impl<'val> !Sync for Value<'val>

§

impl<'val> Unpin for Value<'val>

§

impl<'val> !UnwindSafe for Value<'val>

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> 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, 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.