Struct Array

Source
pub struct Array<'arr> { /* private fields */ }
Expand description

数组的引用

§Parameters

数组函数的dims参数可指定不同维度的索引: &[dim_1_index,dim_2_index,...]

Implementations§

Source§

impl<'arr> Array<'arr>

Source

pub fn info(&self) -> &ArrayInfo

获取数组信息

Source

pub fn len(&self) -> pblong

获取数组长度(仅一维数组有效)

Source

pub fn iter<'a, T: ArrayIterItem<'arr>>(&'a self) -> ArrayIter<'a, 'arr, T>

获取元素迭代器,仅支持一维数组

§Panics

类型不匹配时会触发Panic

§Examples
for item in arr.iter::<pbint>() {
    println!("item: {:?}", item);
}
Source

pub fn get_item_type(&self, dim: &[pblong]) -> ValueType

获取元素类型

Source

pub fn is_item_object(&self, _dim: &[pblong]) -> bool

判断元素是否为对象类型

Source

pub fn is_item_null(&self, dim: &[pblong]) -> bool

判断元素是否为NULL

Source

pub fn get_item_int(&self, dim: &[pblong]) -> Option<pbint>

获取int类型元素值

§Panics

类型不匹配时会触发Panic

Source

pub unsafe fn get_item_int_unchecked(&self, dim: &[pblong]) -> Option<pbint>

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

§Safety

索引越界或类型不兼容时可能会出现未定义行为

Source

pub fn get_item_uint(&self, dim: &[pblong]) -> Option<pbuint>

获取uint类型元素值

§Panics

类型不匹配时会触发Panic

Source

pub unsafe fn get_item_uint_unchecked(&self, dim: &[pblong]) -> Option<pbuint>

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

§Safety

索引越界或类型不兼容时可能会出现未定义行为

Source

pub fn get_item_long(&self, dim: &[pblong]) -> Option<pblong>

获取long类型元素值

§Panics

类型不匹配时会触发Panic

Source

pub unsafe fn get_item_long_unchecked(&self, dim: &[pblong]) -> Option<pblong>

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

§Safety

索引越界或类型不兼容时可能会出现未定义行为

Source

pub fn get_item_ulong(&self, dim: &[pblong]) -> Option<pbulong>

获取ulong类型元素值

§Panics

类型不匹配时会触发Panic

Source

pub unsafe fn get_item_ulong_unchecked(&self, dim: &[pblong]) -> Option<pbulong>

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

§Safety

索引越界或类型不兼容时可能会出现未定义行为

Source

pub fn get_item_longlong(&self, dim: &[pblong]) -> Option<pblonglong>

获取longlong类型元素值

§Panics

类型不匹配时会触发Panic

Source

pub unsafe fn get_item_longlong_unchecked( &self, dim: &[pblong], ) -> Option<pblonglong>

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

§Safety

索引越界或类型不兼容时可能会出现未定义行为

Source

pub fn get_item_real(&self, dim: &[pblong]) -> Option<pbreal>

获取real类型元素值

§Panics

类型不匹配时会触发Panic

Source

pub unsafe fn get_item_real_unchecked(&self, dim: &[pblong]) -> Option<pbreal>

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

§Safety

索引越界或类型不兼容时可能会出现未定义行为

Source

pub fn get_item_double(&self, dim: &[pblong]) -> Option<pbdouble>

获取double类型元素值

§Panics

类型不匹配时会触发Panic

Source

pub unsafe fn get_item_double_unchecked( &self, dim: &[pblong], ) -> Option<pbdouble>

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

§Safety

索引越界或类型不兼容时可能会出现未定义行为

Source

pub fn get_item_dec(&self, dim: &[pblong]) -> Option<Decimal>

获取decimal类型元素值

§Panics

类型不匹配时会触发Panic

Source

pub unsafe fn get_item_dec_unchecked(&self, dim: &[pblong]) -> Option<Decimal>

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

§Safety

索引越界或类型不兼容时可能会出现未定义行为

Source

pub unsafe fn get_item_str(&self, dim: &[pblong]) -> Option<&'arr PBStr>

获取string类型元素值

§Panics

类型不匹配时会触发Panic

§Safety

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

Source

pub unsafe fn get_item_str_unchecked( &self, dim: &[pblong], ) -> Option<&'arr PBStr>

获取string类型元素值的引用,不检查类型

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

pub fn get_item_string(&self, dim: &[pblong]) -> Option<PBString>

获取string类型元素值

§Panics

类型不匹配时会触发Panic

Source

pub unsafe fn get_item_string_unchecked( &self, dim: &[pblong], ) -> Option<PBString>

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

§Safety

索引越界或类型不兼容时可能会出现未定义行为

Source

pub fn get_item_bool(&self, dim: &[pblong]) -> Option<bool>

获取boolean类型元素值

§Panics

类型不匹配时会触发Panic

Source

pub unsafe fn get_item_bool_unchecked(&self, dim: &[pblong]) -> Option<bool>

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

§Safety

索引越界或类型不兼容时可能会出现未定义行为

Source

pub fn get_item_char(&self, dim: &[pblong]) -> Option<WideChar>

获取char类型元素值

§Panics

类型不匹配时会触发Panic

Source

pub unsafe fn get_item_char_unchecked(&self, dim: &[pblong]) -> Option<WideChar>

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

§Safety

索引越界或类型不兼容时可能会出现未定义行为

Source

pub fn get_item_byte(&self, dim: &[pblong]) -> Option<pbbyte>

获取byte类型元素值

§Panics

类型不匹配时会触发Panic

Source

pub unsafe fn get_item_byte_unchecked(&self, dim: &[pblong]) -> Option<pbbyte>

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

§Safety

索引越界或类型不兼容时可能会出现未定义行为

Source

pub fn get_item_date(&self, dim: &[pblong]) -> Option<NaiveDate>

获取byte类型元素值

§Panics

类型不匹配时会触发Panic

Source

pub unsafe fn get_item_date_unchecked( &self, dim: &[pblong], ) -> Option<NaiveDate>

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

§Safety

索引越界或类型不兼容时可能会出现未定义行为

Source

pub fn get_item_time(&self, dim: &[pblong]) -> Option<NaiveTime>

获取time类型元素值

§Panics

类型不匹配时会触发Panic

Source

pub unsafe fn get_item_time_unchecked( &self, dim: &[pblong], ) -> Option<NaiveTime>

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

§Safety

索引越界或类型不兼容时可能会出现未定义行为

Source

pub fn get_item_datetime(&self, dim: &[pblong]) -> Option<NaiveDateTime>

获取datetime类型元素值

§Panics

类型不匹配时会触发Panic

Source

pub unsafe fn get_item_datetime_unchecked( &self, dim: &[pblong], ) -> Option<NaiveDateTime>

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

§Safety

索引越界或类型不兼容时可能会出现未定义行为

Source

pub fn get_item_blob(&self, dim: &[pblong]) -> Option<&'arr [u8]>

获取blob类型元素值的引用

§Panics

类型不匹配时会触发Panic

§Safety

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

Source

pub unsafe fn get_item_blob_unchecked( &self, dim: &[pblong], ) -> Option<&'arr [u8]>

获取blob类型元素值的引用,不检查类型

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

pub fn get_item_object(&self, dim: &[pblong]) -> Option<Object<'arr>>

获取对象类型元素值的引用

§Panics

类型不匹配时会触发Panic

§Safety

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

Source

pub unsafe fn get_item_object_unchecked( &self, dim: &[pblong], ) -> Option<Object<'arr>>

获取对象类型元素值的引用,不检查类型

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

pub fn get_item_any(&self, dim: &[pblong]) -> Option<Value<'arr>>

获取any类型元素值的引用

§Panics

类型不匹配时会触发Panic

§Safety

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

Source

pub unsafe fn get_item_any_unchecked( &self, dim: &[pblong], ) -> Option<Value<'arr>>

获取any类型元素值的引用,不检查类型

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

pub fn set_item_int(&mut self, dim: &[pblong], value: pbint) -> Result<()>

设置int类型元素的值

§Panics

类型不匹配时会触发Panic

Source

pub unsafe fn set_item_int_unchecked( &mut self, dim: &[pblong], value: pbint, ) -> Result<()>

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

§Safety

索引越界或类型不兼容时可能会出现未定义行为

Source

pub fn set_item_uint(&mut self, dim: &[pblong], value: pbuint) -> Result<()>

设置uint类型元素的值

§Panics

类型不匹配时会触发Panic

Source

pub unsafe fn set_item_uint_unchecked( &mut self, dim: &[pblong], value: pbuint, ) -> Result<()>

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

§Safety

索引越界或类型不兼容时可能会出现未定义行为

Source

pub fn set_item_long(&mut self, dim: &[pblong], value: pblong) -> Result<()>

设置long类型元素的值

§Panics

类型不匹配时会触发Panic

Source

pub unsafe fn set_item_long_unchecked( &mut self, dim: &[pblong], value: pblong, ) -> Result<()>

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

§Safety

索引越界或类型不兼容时可能会出现未定义行为

Source

pub fn set_item_ulong(&mut self, dim: &[pblong], value: pbulong) -> Result<()>

设置ulong类型元素的值

§Panics

类型不匹配时会触发Panic

Source

pub unsafe fn set_item_ulong_unchecked( &mut self, dim: &[pblong], value: pbulong, ) -> Result<()>

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

§Safety

索引越界或类型不兼容时可能会出现未定义行为

Source

pub fn set_item_longlong( &mut self, dim: &[pblong], value: pblonglong, ) -> Result<()>

设置longlong类型元素的值

§Panics

类型不匹配时会触发Panic

Source

pub unsafe fn set_item_longlong_unchecked( &mut self, dim: &[pblong], value: pblonglong, ) -> Result<()>

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

§Safety

索引越界或类型不兼容时可能会出现未定义行为

Source

pub fn set_item_real(&mut self, dim: &[pblong], value: pbreal) -> Result<()>

设置real类型元素的值

§Panics

类型不匹配时会触发Panic

Source

pub unsafe fn set_item_real_unchecked( &mut self, dim: &[pblong], value: pbreal, ) -> Result<()>

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

§Safety

索引越界或类型不兼容时可能会出现未定义行为

Source

pub fn set_item_double(&mut self, dim: &[pblong], value: pbdouble) -> Result<()>

设置double类型元素的值

§Panics

类型不匹配时会触发Panic

Source

pub unsafe fn set_item_double_unchecked( &mut self, dim: &[pblong], value: pbdouble, ) -> Result<()>

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

§Safety

索引越界或类型不兼容时可能会出现未定义行为

Source

pub fn set_item_dec(&mut self, dim: &[pblong], value: Decimal) -> Result<()>

设置decimal类型元素的值

§Panics

类型不匹配时会触发Panic

Source

pub unsafe fn set_item_dec_unchecked( &mut self, dim: &[pblong], value: Decimal, ) -> Result<()>

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

§Safety

索引越界或类型不兼容时可能会出现未定义行为

Source

pub fn set_item_str( &mut self, dim: &[pblong], value: impl AsPBStr, ) -> Result<()>

设置string类型元素的值

§Panics

类型不匹配时会触发Panic

Source

pub unsafe fn set_item_str_unchecked( &mut self, dim: &[pblong], value: impl AsPBStr, ) -> Result<()>

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

§Safety

索引越界或类型不兼容时可能会出现未定义行为

Source

pub fn set_item_bool(&mut self, dim: &[pblong], value: bool) -> Result<()>

设置boolean类型元素的值

§Panics

类型不匹配时会触发Panic

Source

pub unsafe fn set_item_bool_unchecked( &mut self, dim: &[pblong], value: bool, ) -> Result<()>

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

§Safety

索引越界或类型不兼容时可能会出现未定义行为

Source

pub fn set_item_date(&mut self, dim: &[pblong], value: NaiveDate) -> Result<()>

设置date类型元素的值

§Panics

类型不匹配时会触发Panic

Source

pub unsafe fn set_item_date_unchecked( &mut self, dim: &[pblong], value: NaiveDate, ) -> Result<()>

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

§Safety

索引越界或类型不兼容时可能会出现未定义行为

Source

pub fn set_item_time(&mut self, dim: &[pblong], value: NaiveTime) -> Result<()>

设置time类型元素的值

§Panics

类型不匹配时会触发Panic

Source

pub unsafe fn set_item_time_unchecked( &mut self, dim: &[pblong], value: NaiveTime, ) -> Result<()>

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

§Safety

索引越界或类型不兼容时可能会出现未定义行为

Source

pub fn set_item_datetime( &mut self, dim: &[pblong], value: NaiveDateTime, ) -> Result<()>

设置datetime类型元素的值

§Panics

类型不匹配时会触发Panic

Source

pub unsafe fn set_item_datetime_unchecked( &mut self, dim: &[pblong], value: NaiveDateTime, ) -> Result<()>

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

§Safety

索引越界或类型不兼容时可能会出现未定义行为

Source

pub fn set_item_char(&mut self, dim: &[pblong], value: WideChar) -> Result<()>

设置char类型元素的值

§Panics

类型不匹配时会触发Panic

Source

pub unsafe fn set_item_char_unchecked( &mut self, dim: &[pblong], value: WideChar, ) -> Result<()>

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

§Safety

索引越界或类型不兼容时可能会出现未定义行为

Source

pub fn set_item_byte(&mut self, dim: &[pblong], value: pbbyte) -> Result<()>

设置byte类型元素的值

§Panics

类型不匹配时会触发Panic

Source

pub unsafe fn set_item_byte_unchecked( &mut self, dim: &[pblong], value: pbbyte, ) -> Result<()>

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

§Safety

索引越界或类型不兼容时可能会出现未定义行为

Source

pub fn set_item_blob( &mut self, dim: &[pblong], value: impl AsRef<[u8]>, ) -> Result<()>

设置blob类型元素的值

§Panics

类型不匹配时会触发Panic

Source

pub unsafe fn set_item_blob_unchecked( &mut self, dim: &[pblong], value: impl AsRef<[u8]>, ) -> Result<()>

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

§Safety

索引越界或类型不兼容时可能会出现未定义行为

Source

pub fn set_item_object( &mut self, dim: &[pblong], value: &Object<'_>, ) -> Result<()>

设置对象类型元素的值

§Panics

类型不匹配时会触发Panic

Source

pub unsafe fn set_item_object_unchecked( &mut self, dim: &[pblong], value: &Object<'_>, ) -> Result<()>

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

§Safety

索引越界或类型不兼容时可能会出现未定义行为

Source

pub fn set_item_any(&mut self, dim: &[pblong], value: Value<'_>)

设置any类型元素的值,value参数将被消耗

§Panics

类型不匹配时会触发Panic

Source

pub unsafe fn set_item_any_unchecked( &mut self, dim: &[pblong], value: Value<'_>, )

设置any类型元素的值,value参数将被消耗

§Safety

索引越界或类型不兼容时可能会出现未定义行为

Source

pub fn set_item_to_null(&mut self, dim: &[pblong])

设置元素为NULL

Source

pub fn acquire_item_value(&mut self, dim: &[pblong]) -> OwnedValue

拷贝元素的值

Auto Trait Implementations§

§

impl<'arr> Freeze for Array<'arr>

§

impl<'arr> RefUnwindSafe for Array<'arr>

§

impl<'arr> !Send for Array<'arr>

§

impl<'arr> !Sync for Array<'arr>

§

impl<'arr> Unpin for Array<'arr>

§

impl<'arr> UnwindSafe for Array<'arr>

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.