pub enum MultiValues {
Show 28 variants
Empty(DataType),
Bool(Vec<bool>),
Char(Vec<char>),
Int8(Vec<i8>),
Int16(Vec<i16>),
Int32(Vec<i32>),
Int64(Vec<i64>),
Int128(Vec<i128>),
UInt8(Vec<u8>),
UInt16(Vec<u16>),
UInt32(Vec<u32>),
UInt64(Vec<u64>),
UInt128(Vec<u128>),
IntSize(Vec<isize>),
UIntSize(Vec<usize>),
Float32(Vec<f32>),
Float64(Vec<f64>),
BigInteger(Vec<BigInt>),
BigDecimal(Vec<BigDecimal>),
String(Vec<String>),
Date(Vec<NaiveDate>),
Time(Vec<NaiveTime>),
DateTime(Vec<NaiveDateTime>),
Instant(Vec<DateTime<Utc>>),
Duration(Vec<Duration>),
Url(Vec<Url>),
StringMap(Vec<HashMap<String, String>>),
Json(Vec<Value>),
}Expand description
Multiple values container
Uses an enum to represent multiple values of different types, providing type-safe storage and access for multiple values.
§Features
- Supports collections of multiple basic data types.
- Provides two sets of APIs for type checking and type conversion.
- Supports unified access to single and multiple values.
- Automatic memory management.
§Example
use qubit_value::MultiValues;
// Create integer multiple values
let mut values = MultiValues::Int32(vec![1, 2, 3]);
assert_eq!(values.count(), 3);
assert_eq!(values.get_first_int32().unwrap(), 1);
// Get all values
let all = values.get_int32s().unwrap();
assert_eq!(all, &[1, 2, 3]);
// Use generic method to add value
values.add(4).unwrap();
assert_eq!(values.count(), 4);Variants§
Empty(DataType)
Empty value (has type but no values)
Bool(Vec<bool>)
Boolean value list
Char(Vec<char>)
Character value list
Int8(Vec<i8>)
i8 list
Int16(Vec<i16>)
i16 list
Int32(Vec<i32>)
i32 list
Int64(Vec<i64>)
i64 list
Int128(Vec<i128>)
i128 list
UInt8(Vec<u8>)
u8 list
UInt16(Vec<u16>)
u16 list
UInt32(Vec<u32>)
u32 list
UInt64(Vec<u64>)
u64 list
UInt128(Vec<u128>)
u128 list
IntSize(Vec<isize>)
isize list
UIntSize(Vec<usize>)
usize list
Float32(Vec<f32>)
f32 list
Float64(Vec<f64>)
f64 list
BigInteger(Vec<BigInt>)
Big integer list
BigDecimal(Vec<BigDecimal>)
Big decimal list
String(Vec<String>)
String list
Date(Vec<NaiveDate>)
Date list
Time(Vec<NaiveTime>)
Time list
DateTime(Vec<NaiveDateTime>)
DateTime list
Instant(Vec<DateTime<Utc>>)
UTC instant list
Duration(Vec<Duration>)
Duration list
Url(Vec<Url>)
Url list
StringMap(Vec<HashMap<String, String>>)
StringMap list
Json(Vec<Value>)
Json list
Implementations§
Source§impl MultiValues
impl MultiValues
Sourcepub fn add_bool(&mut self, value: bool) -> ValueResult<()>
pub fn add_bool(&mut self, value: bool) -> ValueResult<()>
Add a boolean value
§Parameters
value- The boolean value to add
§Returns
If types match, returns Ok(()); see # Errors.
§Example
use qubit_value::MultiValues;
let mut values = MultiValues::Bool(vec![true]);
values.add_bool(false).unwrap();
assert_eq!(values.count(), 2);§Errors
Returns ValueError::TypeMismatch when the current stored
data type differs from the value being appended.
Sourcepub fn add_char(&mut self, value: char) -> ValueResult<()>
pub fn add_char(&mut self, value: char) -> ValueResult<()>
Add a character value
§Parameters
value- The character value to add
§Returns
If types match, returns Ok(()); see # Errors.
§Errors
Returns ValueError::TypeMismatch when the current stored
data type differs from the value being appended.
Sourcepub fn add_int8(&mut self, value: i8) -> ValueResult<()>
pub fn add_int8(&mut self, value: i8) -> ValueResult<()>
Add an int8 value
§Parameters
value- The int8 value to add
§Returns
If types match, returns Ok(()); see # Errors.
§Errors
Returns ValueError::TypeMismatch when the current stored
data type differs from the value being appended.
Sourcepub fn add_int16(&mut self, value: i16) -> ValueResult<()>
pub fn add_int16(&mut self, value: i16) -> ValueResult<()>
Add an int16 value
§Parameters
value- The int16 value to add
§Returns
If types match, returns Ok(()); see # Errors.
§Errors
Returns ValueError::TypeMismatch when the current stored
data type differs from the value being appended.
Sourcepub fn add_int32(&mut self, value: i32) -> ValueResult<()>
pub fn add_int32(&mut self, value: i32) -> ValueResult<()>
Add an int32 value
§Parameters
value- The int32 value to add
§Returns
If types match, returns Ok(()); see # Errors.
§Errors
Returns ValueError::TypeMismatch when the current stored
data type differs from the value being appended.
Sourcepub fn add_int64(&mut self, value: i64) -> ValueResult<()>
pub fn add_int64(&mut self, value: i64) -> ValueResult<()>
Add an int64 value
§Parameters
value- The int64 value to add
§Returns
If types match, returns Ok(()); see # Errors.
§Errors
Returns ValueError::TypeMismatch when the current stored
data type differs from the value being appended.
Sourcepub fn add_int128(&mut self, value: i128) -> ValueResult<()>
pub fn add_int128(&mut self, value: i128) -> ValueResult<()>
Add an int128 value
§Parameters
value- The int128 value to add
§Returns
If types match, returns Ok(()); see # Errors.
§Errors
Returns ValueError::TypeMismatch when the current stored
data type differs from the value being appended.
Sourcepub fn add_uint8(&mut self, value: u8) -> ValueResult<()>
pub fn add_uint8(&mut self, value: u8) -> ValueResult<()>
Add a uint8 value
§Parameters
value- The uint8 value to add
§Returns
If types match, returns Ok(()); see # Errors.
§Errors
Returns ValueError::TypeMismatch when the current stored
data type differs from the value being appended.
Sourcepub fn add_uint16(&mut self, value: u16) -> ValueResult<()>
pub fn add_uint16(&mut self, value: u16) -> ValueResult<()>
Add a uint16 value
§Parameters
value- The uint16 value to add
§Returns
If types match, returns Ok(()); see # Errors.
§Errors
Returns ValueError::TypeMismatch when the current stored
data type differs from the value being appended.
Sourcepub fn add_uint32(&mut self, value: u32) -> ValueResult<()>
pub fn add_uint32(&mut self, value: u32) -> ValueResult<()>
Add a uint32 value
§Parameters
value- The uint32 value to add
§Returns
If types match, returns Ok(()); see # Errors.
§Errors
Returns ValueError::TypeMismatch when the current stored
data type differs from the value being appended.
Sourcepub fn add_uint64(&mut self, value: u64) -> ValueResult<()>
pub fn add_uint64(&mut self, value: u64) -> ValueResult<()>
Add a uint64 value
§Parameters
value- The uint64 value to add
§Returns
If types match, returns Ok(()); see # Errors.
§Errors
Returns ValueError::TypeMismatch when the current stored
data type differs from the value being appended.
Sourcepub fn add_uint128(&mut self, value: u128) -> ValueResult<()>
pub fn add_uint128(&mut self, value: u128) -> ValueResult<()>
Add a uint128 value
§Parameters
value- The uint128 value to add
§Returns
If types match, returns Ok(()); see # Errors.
§Errors
Returns ValueError::TypeMismatch when the current stored
data type differs from the value being appended.
Sourcepub fn add_float32(&mut self, value: f32) -> ValueResult<()>
pub fn add_float32(&mut self, value: f32) -> ValueResult<()>
Add a float32 value
§Parameters
value- The float32 value to add
§Returns
If types match, returns Ok(()); see # Errors.
§Errors
Returns ValueError::TypeMismatch when the current stored
data type differs from the value being appended.
Sourcepub fn add_float64(&mut self, value: f64) -> ValueResult<()>
pub fn add_float64(&mut self, value: f64) -> ValueResult<()>
Add a float64 value
§Parameters
value- The float64 value to add
§Returns
If types match, returns Ok(()); see # Errors.
§Errors
Returns ValueError::TypeMismatch when the current stored
data type differs from the value being appended.
Sourcepub fn add_string(&mut self, value: String) -> ValueResult<()>
pub fn add_string(&mut self, value: String) -> ValueResult<()>
Add a string
§Parameters
value- The string to add
§Returns
If types match, returns Ok(()); see # Errors.
§Errors
Returns ValueError::TypeMismatch when the current stored
data type differs from the value being appended.
Sourcepub fn add_date(&mut self, value: NaiveDate) -> ValueResult<()>
pub fn add_date(&mut self, value: NaiveDate) -> ValueResult<()>
Add a date value
§Parameters
value- The date value to add
§Returns
If types match, returns Ok(()); see # Errors.
§Errors
Returns ValueError::TypeMismatch when the current stored
data type differs from the value being appended.
Sourcepub fn add_time(&mut self, value: NaiveTime) -> ValueResult<()>
pub fn add_time(&mut self, value: NaiveTime) -> ValueResult<()>
Add a time value
§Parameters
value- The time value to add
§Returns
If types match, returns Ok(()); see # Errors.
§Errors
Returns ValueError::TypeMismatch when the current stored
data type differs from the value being appended.
Sourcepub fn add_datetime(&mut self, value: NaiveDateTime) -> ValueResult<()>
pub fn add_datetime(&mut self, value: NaiveDateTime) -> ValueResult<()>
Add a datetime value
§Parameters
value- The datetime value to add
§Returns
If types match, returns Ok(()); see # Errors.
§Errors
Returns ValueError::TypeMismatch when the current stored
data type differs from the value being appended.
Sourcepub fn add_instant(&mut self, value: DateTime<Utc>) -> ValueResult<()>
pub fn add_instant(&mut self, value: DateTime<Utc>) -> ValueResult<()>
Add a UTC instant value
§Parameters
value- The UTC instant value to add
§Returns
If types match, returns Ok(()); see # Errors.
§Errors
Returns ValueError::TypeMismatch when the current stored
data type differs from the value being appended.
Sourcepub fn add_biginteger(&mut self, value: BigInt) -> ValueResult<()>
pub fn add_biginteger(&mut self, value: BigInt) -> ValueResult<()>
Add a big integer value
§Parameters
value- The big integer value to add
§Returns
If types match, returns Ok(()); see # Errors.
§Errors
Returns ValueError::TypeMismatch when the current stored
data type differs from the value being appended.
Sourcepub fn add_bigdecimal(&mut self, value: BigDecimal) -> ValueResult<()>
pub fn add_bigdecimal(&mut self, value: BigDecimal) -> ValueResult<()>
Add a big decimal value
§Parameters
value- The big decimal value to add
§Returns
If types match, returns Ok(()); see # Errors.
§Errors
Returns ValueError::TypeMismatch when the current stored
data type differs from the value being appended.
Sourcepub fn add_intsize(&mut self, value: isize) -> ValueResult<()>
pub fn add_intsize(&mut self, value: isize) -> ValueResult<()>
Add an isize value
§Errors
Returns ValueError::TypeMismatch when the current stored
data type differs from the value being appended.
Sourcepub fn add_uintsize(&mut self, value: usize) -> ValueResult<()>
pub fn add_uintsize(&mut self, value: usize) -> ValueResult<()>
Add a usize value
§Errors
Returns ValueError::TypeMismatch when the current stored
data type differs from the value being appended.
Sourcepub fn add_duration(&mut self, value: Duration) -> ValueResult<()>
pub fn add_duration(&mut self, value: Duration) -> ValueResult<()>
Add a Duration value
§Errors
Returns ValueError::TypeMismatch when the current stored
data type differs from the value being appended.
Sourcepub fn add_url(&mut self, value: Url) -> ValueResult<()>
pub fn add_url(&mut self, value: Url) -> ValueResult<()>
Add a Url value
§Errors
Returns ValueError::TypeMismatch when the current stored
data type differs from the value being appended.
Sourcepub fn add_string_map(
&mut self,
value: HashMap<String, String>,
) -> ValueResult<()>
pub fn add_string_map( &mut self, value: HashMap<String, String>, ) -> ValueResult<()>
Add a StringMap value
§Errors
Returns ValueError::TypeMismatch when the current stored
data type differs from the value being appended.
Sourcepub fn add_json(&mut self, value: Value) -> ValueResult<()>
pub fn add_json(&mut self, value: Value) -> ValueResult<()>
Add a Json value
§Errors
Returns ValueError::TypeMismatch when the current stored
data type differs from the value being appended.
Sourcepub fn add_bools(&mut self, values: Vec<bool>) -> ValueResult<()>
pub fn add_bools(&mut self, values: Vec<bool>) -> ValueResult<()>
Add multiple boolean values
§Parameters
values- The list of boolean values to add
§Returns
If types match, returns Ok(()); see # Errors.
§Example
use qubit_value::MultiValues;
let mut values = MultiValues::Bool(vec![true]);
values.add_bools(vec![false, true]).unwrap();
assert_eq!(values.get_bools().unwrap(), &[true, false, true]);§Errors
Returns ValueError::TypeMismatch when the current stored
data type differs from the values being appended.
Sourcepub fn add_chars(&mut self, values: Vec<char>) -> ValueResult<()>
pub fn add_chars(&mut self, values: Vec<char>) -> ValueResult<()>
Add multiple character values
§Parameters
values- The list of character values to add
§Returns
If types match, returns Ok(()); see # Errors.
§Errors
Returns ValueError::TypeMismatch when the current stored
data type differs from the values being appended.
Sourcepub fn add_int8s(&mut self, values: Vec<i8>) -> ValueResult<()>
pub fn add_int8s(&mut self, values: Vec<i8>) -> ValueResult<()>
Add multiple int8 values
§Parameters
values- The list of int8 values to add
§Returns
If types match, returns Ok(()); see # Errors.
§Errors
Returns ValueError::TypeMismatch when the current stored
data type differs from the values being appended.
Sourcepub fn add_int16s(&mut self, values: Vec<i16>) -> ValueResult<()>
pub fn add_int16s(&mut self, values: Vec<i16>) -> ValueResult<()>
Add multiple int16 values
§Parameters
values- The list of int16 values to add
§Returns
If types match, returns Ok(()); see # Errors.
§Errors
Returns ValueError::TypeMismatch when the current stored
data type differs from the values being appended.
Sourcepub fn add_int32s(&mut self, values: Vec<i32>) -> ValueResult<()>
pub fn add_int32s(&mut self, values: Vec<i32>) -> ValueResult<()>
Add multiple int32 values
§Parameters
values- The list of int32 values to add
§Returns
If types match, returns Ok(()); see # Errors.
§Errors
Returns ValueError::TypeMismatch when the current stored
data type differs from the values being appended.
Sourcepub fn add_int64s(&mut self, values: Vec<i64>) -> ValueResult<()>
pub fn add_int64s(&mut self, values: Vec<i64>) -> ValueResult<()>
Add multiple int64 values
§Parameters
values- The list of int64 values to add
§Returns
If types match, returns Ok(()); see # Errors.
§Errors
Returns ValueError::TypeMismatch when the current stored
data type differs from the values being appended.
Sourcepub fn add_int128s(&mut self, values: Vec<i128>) -> ValueResult<()>
pub fn add_int128s(&mut self, values: Vec<i128>) -> ValueResult<()>
Add multiple int128 values
§Parameters
values- The list of int128 values to add
§Returns
If types match, returns Ok(()); see # Errors.
§Errors
Returns ValueError::TypeMismatch when the current stored
data type differs from the values being appended.
Sourcepub fn add_uint8s(&mut self, values: Vec<u8>) -> ValueResult<()>
pub fn add_uint8s(&mut self, values: Vec<u8>) -> ValueResult<()>
Add multiple uint8 values
§Parameters
values- The list of uint8 values to add
§Returns
If types match, returns Ok(()); see # Errors.
§Errors
Returns ValueError::TypeMismatch when the current stored
data type differs from the values being appended.
Sourcepub fn add_uint16s(&mut self, values: Vec<u16>) -> ValueResult<()>
pub fn add_uint16s(&mut self, values: Vec<u16>) -> ValueResult<()>
Add multiple uint16 values
§Parameters
values- The list of uint16 values to add
§Returns
If types match, returns Ok(()); see # Errors.
§Errors
Returns ValueError::TypeMismatch when the current stored
data type differs from the values being appended.
Sourcepub fn add_uint32s(&mut self, values: Vec<u32>) -> ValueResult<()>
pub fn add_uint32s(&mut self, values: Vec<u32>) -> ValueResult<()>
Add multiple uint32 values
§Parameters
values- The list of uint32 values to add
§Returns
If types match, returns Ok(()); see # Errors.
§Errors
Returns ValueError::TypeMismatch when the current stored
data type differs from the values being appended.
Sourcepub fn add_uint64s(&mut self, values: Vec<u64>) -> ValueResult<()>
pub fn add_uint64s(&mut self, values: Vec<u64>) -> ValueResult<()>
Add multiple uint64 values
§Parameters
values- The list of uint64 values to add
§Returns
If types match, returns Ok(()); see # Errors.
§Errors
Returns ValueError::TypeMismatch when the current stored
data type differs from the values being appended.
Sourcepub fn add_uint128s(&mut self, values: Vec<u128>) -> ValueResult<()>
pub fn add_uint128s(&mut self, values: Vec<u128>) -> ValueResult<()>
Add multiple uint128 values
§Parameters
values- The list of uint128 values to add
§Returns
If types match, returns Ok(()); see # Errors.
§Errors
Returns ValueError::TypeMismatch when the current stored
data type differs from the values being appended.
Sourcepub fn add_float32s(&mut self, values: Vec<f32>) -> ValueResult<()>
pub fn add_float32s(&mut self, values: Vec<f32>) -> ValueResult<()>
Add multiple float32 values
§Parameters
values- The list of float32 values to add
§Returns
If types match, returns Ok(()); see # Errors.
§Errors
Returns ValueError::TypeMismatch when the current stored
data type differs from the values being appended.
Sourcepub fn add_float64s(&mut self, values: Vec<f64>) -> ValueResult<()>
pub fn add_float64s(&mut self, values: Vec<f64>) -> ValueResult<()>
Add multiple float64 values
§Parameters
values- The list of float64 values to add
§Returns
If types match, returns Ok(()); see # Errors.
§Errors
Returns ValueError::TypeMismatch when the current stored
data type differs from the values being appended.
Sourcepub fn add_strings(&mut self, values: Vec<String>) -> ValueResult<()>
pub fn add_strings(&mut self, values: Vec<String>) -> ValueResult<()>
Add multiple string values
§Parameters
values- The list of string values to add
§Returns
If types match, returns Ok(()); see # Errors.
§Example
use qubit_value::MultiValues;
let mut values = MultiValues::String(vec!["hello".to_string()]);
values.add_strings(vec!["world".to_string(), "rust".to_string()]).unwrap();
assert_eq!(values.get_strings().unwrap(), &["hello", "world", "rust"]);§Errors
Returns ValueError::TypeMismatch when the current stored
data type differs from the values being appended.
Sourcepub fn add_dates(&mut self, values: Vec<NaiveDate>) -> ValueResult<()>
pub fn add_dates(&mut self, values: Vec<NaiveDate>) -> ValueResult<()>
Add multiple date values
§Parameters
values- The list of date values to add
§Returns
If types match, returns Ok(()); see # Errors.
§Errors
Returns ValueError::TypeMismatch when the current stored
data type differs from the values being appended.
Sourcepub fn add_times(&mut self, values: Vec<NaiveTime>) -> ValueResult<()>
pub fn add_times(&mut self, values: Vec<NaiveTime>) -> ValueResult<()>
Add multiple time values
§Parameters
values- The list of time values to add
§Returns
If types match, returns Ok(()); see # Errors.
§Errors
Returns ValueError::TypeMismatch when the current stored
data type differs from the values being appended.
Sourcepub fn add_datetimes(&mut self, values: Vec<NaiveDateTime>) -> ValueResult<()>
pub fn add_datetimes(&mut self, values: Vec<NaiveDateTime>) -> ValueResult<()>
Add multiple datetime values
§Parameters
values- The list of datetime values to add
§Returns
If types match, returns Ok(()); see # Errors.
§Errors
Returns ValueError::TypeMismatch when the current stored
data type differs from the values being appended.
Sourcepub fn add_instants(&mut self, values: Vec<DateTime<Utc>>) -> ValueResult<()>
pub fn add_instants(&mut self, values: Vec<DateTime<Utc>>) -> ValueResult<()>
Add multiple UTC instant values
§Parameters
values- The list of UTC instant values to add
§Returns
If types match, returns Ok(()); see # Errors.
§Errors
Returns ValueError::TypeMismatch when the current stored
data type differs from the values being appended.
Sourcepub fn add_bigintegers(&mut self, values: Vec<BigInt>) -> ValueResult<()>
pub fn add_bigintegers(&mut self, values: Vec<BigInt>) -> ValueResult<()>
Add multiple big integer values
§Parameters
values- The list of big integer values to add
§Returns
If types match, returns Ok(()); see # Errors.
§Errors
Returns ValueError::TypeMismatch when the current stored
data type differs from the values being appended.
Sourcepub fn add_bigdecimals(&mut self, values: Vec<BigDecimal>) -> ValueResult<()>
pub fn add_bigdecimals(&mut self, values: Vec<BigDecimal>) -> ValueResult<()>
Add multiple big decimal values
§Parameters
values- The list of big decimal values to add
§Returns
If types match, returns Ok(()); see # Errors.
§Errors
Returns ValueError::TypeMismatch when the current stored
data type differs from the values being appended.
Sourcepub fn add_intsizes(&mut self, values: Vec<isize>) -> ValueResult<()>
pub fn add_intsizes(&mut self, values: Vec<isize>) -> ValueResult<()>
Add multiple isize values
§Errors
Returns ValueError::TypeMismatch when the current stored
data type differs from the values being appended.
Sourcepub fn add_uintsizes(&mut self, values: Vec<usize>) -> ValueResult<()>
pub fn add_uintsizes(&mut self, values: Vec<usize>) -> ValueResult<()>
Add multiple usize values
§Errors
Returns ValueError::TypeMismatch when the current stored
data type differs from the values being appended.
Sourcepub fn add_durations(&mut self, values: Vec<Duration>) -> ValueResult<()>
pub fn add_durations(&mut self, values: Vec<Duration>) -> ValueResult<()>
Add multiple Duration values
§Errors
Returns ValueError::TypeMismatch when the current stored
data type differs from the values being appended.
Sourcepub fn add_urls(&mut self, values: Vec<Url>) -> ValueResult<()>
pub fn add_urls(&mut self, values: Vec<Url>) -> ValueResult<()>
Add multiple Url values
§Errors
Returns ValueError::TypeMismatch when the current stored
data type differs from the values being appended.
Sourcepub fn add_string_maps(
&mut self,
values: Vec<HashMap<String, String>>,
) -> ValueResult<()>
pub fn add_string_maps( &mut self, values: Vec<HashMap<String, String>>, ) -> ValueResult<()>
Add multiple StringMap values
§Errors
Returns ValueError::TypeMismatch when the current stored
data type differs from the values being appended.
Sourcepub fn add_jsons(&mut self, values: Vec<Value>) -> ValueResult<()>
pub fn add_jsons(&mut self, values: Vec<Value>) -> ValueResult<()>
Add multiple Json values
§Errors
Returns ValueError::TypeMismatch when the current stored
data type differs from the values being appended.
Sourcepub fn add_bools_slice(&mut self, values: &[bool]) -> ValueResult<()>
pub fn add_bools_slice(&mut self, values: &[bool]) -> ValueResult<()>
Add multiple boolean values via slice
§Parameters
values- The boolean value slice to add
§Returns
If types match, returns Ok(()); see # Errors.
§Errors
Returns ValueError::TypeMismatch when the current stored
data type differs from the slice values being appended.
Sourcepub fn add_chars_slice(&mut self, values: &[char]) -> ValueResult<()>
pub fn add_chars_slice(&mut self, values: &[char]) -> ValueResult<()>
Add multiple character values via slice
§Parameters
values- The character value slice to add
§Returns
If types match, returns Ok(()); see # Errors.
§Errors
Returns ValueError::TypeMismatch when the current stored
data type differs from the slice values being appended.
Sourcepub fn add_int8s_slice(&mut self, values: &[i8]) -> ValueResult<()>
pub fn add_int8s_slice(&mut self, values: &[i8]) -> ValueResult<()>
Add multiple int8 values via slice
§Parameters
values- The int8 value slice to add
§Returns
If types match, returns Ok(()); see # Errors.
§Errors
Returns ValueError::TypeMismatch when the current stored
data type differs from the slice values being appended.
Sourcepub fn add_int16s_slice(&mut self, values: &[i16]) -> ValueResult<()>
pub fn add_int16s_slice(&mut self, values: &[i16]) -> ValueResult<()>
Add multiple int16 values via slice
§Parameters
values- The int16 value slice to add
§Returns
If types match, returns Ok(()); see # Errors.
§Errors
Returns ValueError::TypeMismatch when the current stored
data type differs from the slice values being appended.
Sourcepub fn add_int32s_slice(&mut self, values: &[i32]) -> ValueResult<()>
pub fn add_int32s_slice(&mut self, values: &[i32]) -> ValueResult<()>
Add multiple int32 values via slice
§Parameters
values- The int32 value slice to add
§Returns
If types match, returns Ok(()); see # Errors.
§Errors
Returns ValueError::TypeMismatch when the current stored
data type differs from the slice values being appended.
Sourcepub fn add_int64s_slice(&mut self, values: &[i64]) -> ValueResult<()>
pub fn add_int64s_slice(&mut self, values: &[i64]) -> ValueResult<()>
Add multiple int64 values via slice
§Parameters
values- The int64 value slice to add
§Returns
If types match, returns Ok(()); see # Errors.
§Errors
Returns ValueError::TypeMismatch when the current stored
data type differs from the slice values being appended.
Sourcepub fn add_int128s_slice(&mut self, values: &[i128]) -> ValueResult<()>
pub fn add_int128s_slice(&mut self, values: &[i128]) -> ValueResult<()>
Add multiple int128 values via slice
§Parameters
values- The int128 value slice to add
§Returns
If types match, returns Ok(()); see # Errors.
§Errors
Returns ValueError::TypeMismatch when the current stored
data type differs from the slice values being appended.
Sourcepub fn add_uint8s_slice(&mut self, values: &[u8]) -> ValueResult<()>
pub fn add_uint8s_slice(&mut self, values: &[u8]) -> ValueResult<()>
Add multiple uint8 values via slice
§Parameters
values- The uint8 value slice to add
§Returns
If types match, returns Ok(()); see # Errors.
§Errors
Returns ValueError::TypeMismatch when the current stored
data type differs from the slice values being appended.
Sourcepub fn add_uint16s_slice(&mut self, values: &[u16]) -> ValueResult<()>
pub fn add_uint16s_slice(&mut self, values: &[u16]) -> ValueResult<()>
Add multiple uint16 values via slice
§Parameters
values- The uint16 value slice to add
§Returns
If types match, returns Ok(()); see # Errors.
§Errors
Returns ValueError::TypeMismatch when the current stored
data type differs from the slice values being appended.
Sourcepub fn add_uint32s_slice(&mut self, values: &[u32]) -> ValueResult<()>
pub fn add_uint32s_slice(&mut self, values: &[u32]) -> ValueResult<()>
Add multiple uint32 values via slice
§Parameters
values- The uint32 value slice to add
§Returns
If types match, returns Ok(()); see # Errors.
§Errors
Returns ValueError::TypeMismatch when the current stored
data type differs from the slice values being appended.
Sourcepub fn add_uint64s_slice(&mut self, values: &[u64]) -> ValueResult<()>
pub fn add_uint64s_slice(&mut self, values: &[u64]) -> ValueResult<()>
Add multiple uint64 values via slice
§Parameters
values- The uint64 value slice to add
§Returns
If types match, returns Ok(()); see # Errors.
§Errors
Returns ValueError::TypeMismatch when the current stored
data type differs from the slice values being appended.
Sourcepub fn add_uint128s_slice(&mut self, values: &[u128]) -> ValueResult<()>
pub fn add_uint128s_slice(&mut self, values: &[u128]) -> ValueResult<()>
Add multiple uint128 values via slice
§Parameters
values- The uint128 value slice to add
§Returns
If types match, returns Ok(()); see # Errors.
§Errors
Returns ValueError::TypeMismatch when the current stored
data type differs from the slice values being appended.
Sourcepub fn add_float32s_slice(&mut self, values: &[f32]) -> ValueResult<()>
pub fn add_float32s_slice(&mut self, values: &[f32]) -> ValueResult<()>
Add multiple float32 values via slice
§Parameters
values- The float32 value slice to add
§Returns
If types match, returns Ok(()); see # Errors.
§Errors
Returns ValueError::TypeMismatch when the current stored
data type differs from the slice values being appended.
Sourcepub fn add_float64s_slice(&mut self, values: &[f64]) -> ValueResult<()>
pub fn add_float64s_slice(&mut self, values: &[f64]) -> ValueResult<()>
Add multiple float64 values via slice
§Parameters
values- The float64 value slice to add
§Returns
If types match, returns Ok(()); see # Errors.
§Errors
Returns ValueError::TypeMismatch when the current stored
data type differs from the slice values being appended.
Sourcepub fn add_strings_slice(&mut self, values: &[String]) -> ValueResult<()>
pub fn add_strings_slice(&mut self, values: &[String]) -> ValueResult<()>
Add multiple strings via slice
§Parameters
values- The string slice to add
§Returns
If types match, returns Ok(()); see # Errors.
§Errors
Returns ValueError::TypeMismatch when the current stored
data type differs from the slice values being appended.
Sourcepub fn add_dates_slice(&mut self, values: &[NaiveDate]) -> ValueResult<()>
pub fn add_dates_slice(&mut self, values: &[NaiveDate]) -> ValueResult<()>
Add multiple date values via slice
§Parameters
values- The date value slice to add
§Returns
If types match, returns Ok(()); see # Errors.
§Errors
Returns ValueError::TypeMismatch when the current stored
data type differs from the slice values being appended.
Sourcepub fn add_times_slice(&mut self, values: &[NaiveTime]) -> ValueResult<()>
pub fn add_times_slice(&mut self, values: &[NaiveTime]) -> ValueResult<()>
Add multiple time values via slice
§Parameters
values- The time value slice to add
§Returns
If types match, returns Ok(()); see # Errors.
§Errors
Returns ValueError::TypeMismatch when the current stored
data type differs from the slice values being appended.
Sourcepub fn add_datetimes_slice(
&mut self,
values: &[NaiveDateTime],
) -> ValueResult<()>
pub fn add_datetimes_slice( &mut self, values: &[NaiveDateTime], ) -> ValueResult<()>
Add multiple datetime values via slice
§Parameters
values- The datetime value slice to add
§Returns
If types match, returns Ok(()); see # Errors.
§Errors
Returns ValueError::TypeMismatch when the current stored
data type differs from the slice values being appended.
Sourcepub fn add_instants_slice(
&mut self,
values: &[DateTime<Utc>],
) -> ValueResult<()>
pub fn add_instants_slice( &mut self, values: &[DateTime<Utc>], ) -> ValueResult<()>
Add multiple UTC instant values via slice
§Parameters
values- The UTC instant value slice to add
§Returns
If types match, returns Ok(()); see # Errors.
§Errors
Returns ValueError::TypeMismatch when the current stored
data type differs from the slice values being appended.
Sourcepub fn add_bigintegers_slice(&mut self, values: &[BigInt]) -> ValueResult<()>
pub fn add_bigintegers_slice(&mut self, values: &[BigInt]) -> ValueResult<()>
Add multiple big integer values via slice
§Parameters
values- The big integer value slice to add
§Returns
If types match, returns Ok(()); see # Errors.
§Errors
Returns ValueError::TypeMismatch when the current stored
data type differs from the slice values being appended.
Sourcepub fn add_bigdecimals_slice(
&mut self,
values: &[BigDecimal],
) -> ValueResult<()>
pub fn add_bigdecimals_slice( &mut self, values: &[BigDecimal], ) -> ValueResult<()>
Add multiple big decimal values via slice
§Parameters
values- The big decimal value slice to add
§Returns
If types match, returns Ok(()); see # Errors.
§Errors
Returns ValueError::TypeMismatch when the current stored
data type differs from the slice values being appended.
Sourcepub fn add_intsizes_slice(&mut self, values: &[isize]) -> ValueResult<()>
pub fn add_intsizes_slice(&mut self, values: &[isize]) -> ValueResult<()>
Add multiple isize values via slice
§Errors
Returns ValueError::TypeMismatch when the current stored
data type differs from the slice values being appended.
Sourcepub fn add_uintsizes_slice(&mut self, values: &[usize]) -> ValueResult<()>
pub fn add_uintsizes_slice(&mut self, values: &[usize]) -> ValueResult<()>
Add multiple usize values via slice
§Errors
Returns ValueError::TypeMismatch when the current stored
data type differs from the slice values being appended.
Sourcepub fn add_durations_slice(&mut self, values: &[Duration]) -> ValueResult<()>
pub fn add_durations_slice(&mut self, values: &[Duration]) -> ValueResult<()>
Add multiple Duration values via slice
§Errors
Returns ValueError::TypeMismatch when the current stored
data type differs from the slice values being appended.
Sourcepub fn add_urls_slice(&mut self, values: &[Url]) -> ValueResult<()>
pub fn add_urls_slice(&mut self, values: &[Url]) -> ValueResult<()>
Add multiple Url values via slice
§Errors
Returns ValueError::TypeMismatch when the current stored
data type differs from the slice values being appended.
Sourcepub fn add_string_maps_slice(
&mut self,
values: &[HashMap<String, String>],
) -> ValueResult<()>
pub fn add_string_maps_slice( &mut self, values: &[HashMap<String, String>], ) -> ValueResult<()>
Add multiple StringMap values via slice
§Errors
Returns ValueError::TypeMismatch when the current stored
data type differs from the slice values being appended.
Sourcepub fn add_jsons_slice(&mut self, values: &[Value]) -> ValueResult<()>
pub fn add_jsons_slice(&mut self, values: &[Value]) -> ValueResult<()>
Add multiple Json values via slice
§Errors
Returns ValueError::TypeMismatch when the current stored
data type differs from the slice values being appended.
Source§impl MultiValues
impl MultiValues
Sourcepub fn to<T>(&self) -> ValueResult<T>where
for<'a> DataConverter<'a>: DataConvertTo<T>,
pub fn to<T>(&self) -> ValueResult<T>where
for<'a> DataConverter<'a>: DataConvertTo<T>,
Converts the first stored value to T.
Unlike Self::get_first, this method uses shared DataConverter
conversion rules instead of strict type matching. For example, a stored
String("1") can be converted to bool.
§Type Parameters
T- Target type.
§Returns
The converted first value.
§Errors
Returns ValueError::NoValue when no value is stored, or a conversion
error when the first value cannot be converted to T.
Sourcepub fn to_or<T>(&self, default: impl IntoValueDefault<T>) -> ValueResult<T>where
for<'a> DataConverter<'a>: DataConvertTo<T>,
pub fn to_or<T>(&self, default: impl IntoValueDefault<T>) -> ValueResult<T>where
for<'a> DataConverter<'a>: DataConvertTo<T>,
Converts the first stored value to T, or returns default when no
value is stored.
Sourcepub fn to_with<T>(&self, options: &DataConversionOptions) -> ValueResult<T>where
for<'a> DataConverter<'a>: DataConvertTo<T>,
pub fn to_with<T>(&self, options: &DataConversionOptions) -> ValueResult<T>where
for<'a> DataConverter<'a>: DataConvertTo<T>,
Converts the first stored value to T using conversion options.
A MultiValues::String containing exactly one string is treated as a
scalar string source, so collection options can split it before taking
the first converted item. Multiple stored string values are treated as
an already-materialized list and are converted element by element.
§Type Parameters
T- Target type.
§Parameters
options- Conversion options forwarded toqubit_datatype.
§Returns
The converted first value.
§Errors
Returns ValueError::NoValue when no value is stored, or a conversion
error when the first value cannot be converted to T.
Sourcepub fn to_or_with<T>(
&self,
default: impl IntoValueDefault<T>,
options: &DataConversionOptions,
) -> ValueResult<T>where
for<'a> DataConverter<'a>: DataConvertTo<T>,
pub fn to_or_with<T>(
&self,
default: impl IntoValueDefault<T>,
options: &DataConversionOptions,
) -> ValueResult<T>where
for<'a> DataConverter<'a>: DataConvertTo<T>,
Converts the first stored value to T using conversion options, or
returns default when no value is stored.
Sourcepub fn to_list<T>(&self) -> ValueResult<Vec<T>>where
for<'a> DataConverter<'a>: DataConvertTo<T>,
pub fn to_list<T>(&self) -> ValueResult<Vec<T>>where
for<'a> DataConverter<'a>: DataConvertTo<T>,
Converts all stored values to T.
Unlike Self::get, this method uses shared DataConverter conversion
rules for every element instead of strict type matching. Empty values
return an empty vector.
§Type Parameters
T- Target element type.
§Returns
A vector containing all converted values in the original order.
§Errors
Returns the first conversion error encountered while converting an element.
Sourcepub fn to_list_or<T>(
&self,
default: impl IntoValueDefault<Vec<T>>,
) -> ValueResult<Vec<T>>where
for<'a> DataConverter<'a>: DataConvertTo<T>,
pub fn to_list_or<T>(
&self,
default: impl IntoValueDefault<Vec<T>>,
) -> ValueResult<Vec<T>>where
for<'a> DataConverter<'a>: DataConvertTo<T>,
Converts all stored values to T, or returns default when the
converted list is empty.
Sourcepub fn to_list_with<T>(
&self,
options: &DataConversionOptions,
) -> ValueResult<Vec<T>>where
for<'a> DataConverter<'a>: DataConvertTo<T>,
pub fn to_list_with<T>(
&self,
options: &DataConversionOptions,
) -> ValueResult<Vec<T>>where
for<'a> DataConverter<'a>: DataConvertTo<T>,
Converts all stored values to T using conversion options.
A MultiValues::String containing exactly one string is treated as a
scalar string source, so collection options can split it into items.
Multiple stored string values are treated as an already-materialized
list and are converted element by element.
§Type Parameters
T- Target element type.
§Parameters
options- Conversion options forwarded toqubit_datatype.
§Returns
A vector containing all converted values in the original order.
§Errors
Returns the first conversion error encountered while converting an element.
Sourcepub fn to_list_or_with<T>(
&self,
default: impl IntoValueDefault<Vec<T>>,
options: &DataConversionOptions,
) -> ValueResult<Vec<T>>where
for<'a> DataConverter<'a>: DataConvertTo<T>,
pub fn to_list_or_with<T>(
&self,
default: impl IntoValueDefault<Vec<T>>,
options: &DataConversionOptions,
) -> ValueResult<Vec<T>>where
for<'a> DataConverter<'a>: DataConvertTo<T>,
Converts all stored values to T using conversion options, or returns
default when the converted list is empty.
Sourcepub fn merge(&mut self, other: &MultiValues) -> ValueResult<()>
pub fn merge(&mut self, other: &MultiValues) -> ValueResult<()>
Merge another multiple values
Append all values from another multiple values to the current multiple values
§Parameters
other- The multiple values to merge
§Returns
Returns Ok(()) after appending all values from other.
§Errors
Returns ValueError::TypeMismatch when other has a different data
type from this container.
§Example
use qubit_value::MultiValues;
let mut a = MultiValues::Int32(vec![1, 2]);
let b = MultiValues::Int32(vec![3, 4]);
a.merge(&b).unwrap();
assert_eq!(a.get_int32s().unwrap(), &[1, 2, 3, 4]);Source§impl MultiValues
impl MultiValues
Sourcepub fn new<S>(values: S) -> Selfwhere
S: Into<Self>,
pub fn new<S>(values: S) -> Selfwhere
S: Into<Self>,
Generic constructor method
Creates MultiValues from any supported input form, avoiding direct
use of enum variants at call sites.
Supported input forms include single values, vectors, slices, arrays, borrowed vectors, and borrowed string collections for supported element types.
§Type Parameters
S- Input type convertible intoMultiValues.
§Returns
Returns MultiValues wrapping the converted input values.
§Example
use qubit_value::MultiValues;
// Basic types
let mv = MultiValues::new(vec![1, 2, 3]);
assert_eq!(mv.count(), 3);
// Strings
let mv = MultiValues::new(vec!["a".to_string(), "b".to_string()]);
assert_eq!(mv.count(), 2);Sourcepub fn get<T>(&self) -> ValueResult<Vec<T>>
pub fn get<T>(&self) -> ValueResult<Vec<T>>
Generic getter method for multiple values.
Performs a strict typed read of all stored values as Vec<T>.
§Type Parameters
T- The target element type to retrieve.
§Returns
Returns the list of values when the stored type matches T.
§Errors
Returns ValueError::TypeMismatch when the stored type differs from
T.
§Example
use qubit_value::MultiValues;
let multi = MultiValues::Int32(vec![1, 2, 3]);
// Through type inference
let nums: Vec<i32> = multi.get().unwrap();
assert_eq!(nums, vec![1, 2, 3]);
// Explicitly specify type parameter
let nums = multi.get::<i32>().unwrap();
assert_eq!(nums, vec![1, 2, 3]);Sourcepub fn get_or<T>(
&self,
default: impl IntoValueDefault<Vec<T>>,
) -> ValueResult<Vec<T>>
pub fn get_or<T>( &self, default: impl IntoValueDefault<Vec<T>>, ) -> ValueResult<Vec<T>>
Generic getter method with a default value list.
Returns the supplied default only when the stored list is empty. Type mismatches are still returned as errors.
Sourcepub fn get_first<T>(&self) -> ValueResult<T>where
for<'a> T: TryFrom<&'a Self, Error = ValueError>,
pub fn get_first<T>(&self) -> ValueResult<T>where
for<'a> T: TryFrom<&'a Self, Error = ValueError>,
Generic getter method for the first value
Reads the first stored value as T, performing strict type checking.
get_first<T>() does not do cross-type conversion. Use Self::to if
conversion between compatible data types is desired.
§Type Parameters
T- The target element type to retrieve.
§Returns
Returns the first value when the stored type matches T and at least
one value exists.
§Errors
Returns ValueError::NoValue when the requested type matches but no
value is stored, or ValueError::TypeMismatch when the stored type
differs from T.
§Example
use qubit_value::MultiValues;
let multi = MultiValues::Int32(vec![42, 100, 200]);
// Through type inference
let first: i32 = multi.get_first().unwrap();
assert_eq!(first, 42);
// Explicitly specify type parameter
let first = multi.get_first::<i32>().unwrap();
assert_eq!(first, 42);
// String type
let multi = MultiValues::String(vec!["hello".to_string(), "world".to_string()]);
let first: String = multi.get_first().unwrap();
assert_eq!(first, "hello");Sourcepub fn get_first_or<T>(
&self,
default: impl IntoValueDefault<T>,
) -> ValueResult<T>where
for<'a> T: TryFrom<&'a Self, Error = ValueError>,
pub fn get_first_or<T>(
&self,
default: impl IntoValueDefault<T>,
) -> ValueResult<T>where
for<'a> T: TryFrom<&'a Self, Error = ValueError>,
Generic first-value getter with a default value.
Returns the supplied default only when no first value exists. Type mismatches are still returned as errors.
Sourcepub fn set<S>(&mut self, values: S) -> ValueResult<()>where
S: Into<Self>,
pub fn set<S>(&mut self, values: S) -> ValueResult<()>where
S: Into<Self>,
Generic setter method
Replaces the entire list with the converted input values.
This operation updates the stored type to the input element type and does not validate runtime compatibility with the previous variant.
Supports any input that can be converted into MultiValues, including
single values, vectors, slices, arrays, and borrowed vectors for supported
element types.
Existing values are replaced, and the stored type becomes the converted input type.
§Type Parameters
S- Input type convertible intoMultiValues.
§Parameters
values- The values to set.
§Returns
Always returns Ok(()) for supported input types. Unsupported input
types fail to compile because they do not implement Into<MultiValues>.
§Example
use qubit_datatype::DataType;
use qubit_value::MultiValues;
// 1) Vec<T>
let mut mv = MultiValues::Empty(DataType::Int32);
mv.set(vec![42, 100, 200]).unwrap();
assert_eq!(mv.get_int32s().unwrap(), &[42, 100, 200]);
// 2) &[T]
let mut mv = MultiValues::Empty(DataType::Int32);
let slice = &[7, 8, 9][..];
mv.set(slice).unwrap();
assert_eq!(mv.get_int32s().unwrap(), &[7, 8, 9]);
// 3) Single T
let mut mv = MultiValues::Empty(DataType::Int32);
mv.set(42).unwrap();
assert_eq!(mv.get_int32s().unwrap(), &[42]);
// String example
let mut mv = MultiValues::Empty(DataType::String);
mv.set(vec!["hello".to_string(), "world".to_string()]).unwrap();
assert_eq!(mv.get_strings().unwrap(), &["hello", "world"]);Sourcepub fn add<S>(&mut self, values: S) -> ValueResult<()>where
S: Into<Self>,
pub fn add<S>(&mut self, values: S) -> ValueResult<()>where
S: Into<Self>,
Generic add method
Appends converted input values to the existing list with strict type checking.
Supports any input that can be converted into MultiValues, including
single values, vectors, slices, arrays, and borrowed vectors for supported
element types.
The converted input must have the same data type as the current container. An empty container keeps its declared type until non-empty values of the same type are appended.
§Type Parameters
S- Input type convertible intoMultiValues.
§Errors
Returns ValueError::TypeMismatch when the converted input data type
differs from the current container data type.
§Example
use qubit_datatype::DataType;
use qubit_value::MultiValues;
// 1) Single T
let mut mv = MultiValues::Int32(vec![42]);
mv.add(100).unwrap();
assert_eq!(mv.get_int32s().unwrap(), &[42, 100]);
// 2) Vec<T>
mv.add(vec![200, 300]).unwrap();
assert_eq!(mv.get_int32s().unwrap(), &[42, 100, 200, 300]);
// 3) &[T]
let slice = &[400, 500][..];
mv.add(slice).unwrap();
assert_eq!(mv.get_int32s().unwrap(), &[42, 100, 200, 300, 400, 500]);Sourcepub fn count(&self) -> usize
pub fn count(&self) -> usize
Get the number of values
§Returns
Returns the number of values contained in these multiple values
§Example
use qubit_datatype::DataType;
use qubit_value::MultiValues;
let values = MultiValues::Int32(vec![1, 2, 3]);
assert_eq!(values.count(), 3);
let empty = MultiValues::Empty(DataType::String);
assert_eq!(empty.count(), 0);Sourcepub fn is_empty(&self) -> bool
pub fn is_empty(&self) -> bool
Check if empty
§Returns
Returns true if these multiple values do not contain any values
§Example
use qubit_datatype::DataType;
use qubit_value::MultiValues;
let values = MultiValues::Int32(vec![]);
assert!(values.is_empty());
let empty = MultiValues::Empty(DataType::String);
assert!(empty.is_empty());Sourcepub fn clear(&mut self)
pub fn clear(&mut self)
Clear all values while preserving the type
§Example
use qubit_datatype::DataType;
use qubit_value::MultiValues;
let mut values = MultiValues::Int32(vec![1, 2, 3]);
values.clear();
assert!(values.is_empty());
assert_eq!(values.data_type(), DataType::Int32);Sourcepub fn set_type(&mut self, data_type: DataType)
pub fn set_type(&mut self, data_type: DataType)
Set the data type
If the new type differs from the current type, clears all values and sets the new type.
§Parameters
data_type- The data type to set
§Example
use qubit_datatype::DataType;
use qubit_value::MultiValues;
let mut values = MultiValues::Int32(vec![1, 2, 3]);
values.set_type(DataType::String);
assert!(values.is_empty());
assert_eq!(values.data_type(), DataType::String);Source§impl MultiValues
impl MultiValues
Sourcepub fn get_first_bool(&self) -> ValueResult<bool>
pub fn get_first_bool(&self) -> ValueResult<bool>
Get the first boolean value.
§Returns
If types match and a value exists, returns the first boolean value; see # Errors.
§Example
use qubit_value::MultiValues;
let values = MultiValues::Bool(vec![true, false]);
assert_eq!(values.get_first_bool().unwrap(), true);§Errors
Returns ValueError::NoValue when the requested type matches
but no value is stored, or ValueError::TypeMismatch when
the stored data type differs.
Sourcepub fn get_first_char(&self) -> ValueResult<char>
pub fn get_first_char(&self) -> ValueResult<char>
Get the first character value
§Returns
If types match and a value exists, returns the first character value; see # Errors.
§Errors
Returns ValueError::NoValue when the requested type matches
but no value is stored, or ValueError::TypeMismatch when
the stored data type differs.
Sourcepub fn get_first_int8(&self) -> ValueResult<i8>
pub fn get_first_int8(&self) -> ValueResult<i8>
Get the first int8 value
§Returns
If types match and a value exists, returns the first int8 value; see # Errors.
§Errors
Returns ValueError::NoValue when the requested type matches
but no value is stored, or ValueError::TypeMismatch when
the stored data type differs.
Sourcepub fn get_first_int16(&self) -> ValueResult<i16>
pub fn get_first_int16(&self) -> ValueResult<i16>
Get the first int16 value
§Returns
If types match and a value exists, returns the first int16 value; see # Errors.
§Errors
Returns ValueError::NoValue when the requested type matches
but no value is stored, or ValueError::TypeMismatch when
the stored data type differs.
Sourcepub fn get_first_int32(&self) -> ValueResult<i32>
pub fn get_first_int32(&self) -> ValueResult<i32>
Get the first int32 value
§Returns
If types match and a value exists, returns the first int32 value; see # Errors.
§Errors
Returns ValueError::NoValue when the requested type matches
but no value is stored, or ValueError::TypeMismatch when
the stored data type differs.
Sourcepub fn get_first_int64(&self) -> ValueResult<i64>
pub fn get_first_int64(&self) -> ValueResult<i64>
Get the first int64 value
§Returns
If types match and a value exists, returns the first int64 value; see # Errors.
§Errors
Returns ValueError::NoValue when the requested type matches
but no value is stored, or ValueError::TypeMismatch when
the stored data type differs.
Sourcepub fn get_first_int128(&self) -> ValueResult<i128>
pub fn get_first_int128(&self) -> ValueResult<i128>
Get the first int128 value
§Returns
If types match and a value exists, returns the first int128 value; see # Errors.
§Errors
Returns ValueError::NoValue when the requested type matches
but no value is stored, or ValueError::TypeMismatch when
the stored data type differs.
Sourcepub fn get_first_uint8(&self) -> ValueResult<u8>
pub fn get_first_uint8(&self) -> ValueResult<u8>
Get the first uint8 value
§Returns
If types match and a value exists, returns the first uint8 value; see # Errors.
§Errors
Returns ValueError::NoValue when the requested type matches
but no value is stored, or ValueError::TypeMismatch when
the stored data type differs.
Sourcepub fn get_first_uint16(&self) -> ValueResult<u16>
pub fn get_first_uint16(&self) -> ValueResult<u16>
Get the first uint16 value
§Returns
If types match and a value exists, returns the first uint16 value; see # Errors.
§Errors
Returns ValueError::NoValue when the requested type matches
but no value is stored, or ValueError::TypeMismatch when
the stored data type differs.
Sourcepub fn get_first_uint32(&self) -> ValueResult<u32>
pub fn get_first_uint32(&self) -> ValueResult<u32>
Get the first uint32 value
§Returns
If types match and a value exists, returns the first uint32 value; see # Errors.
§Errors
Returns ValueError::NoValue when the requested type matches
but no value is stored, or ValueError::TypeMismatch when
the stored data type differs.
Sourcepub fn get_first_uint64(&self) -> ValueResult<u64>
pub fn get_first_uint64(&self) -> ValueResult<u64>
Get the first uint64 value
§Returns
If types match and a value exists, returns the first uint64 value; see # Errors.
§Errors
Returns ValueError::NoValue when the requested type matches
but no value is stored, or ValueError::TypeMismatch when
the stored data type differs.
Sourcepub fn get_first_uint128(&self) -> ValueResult<u128>
pub fn get_first_uint128(&self) -> ValueResult<u128>
Get the first uint128 value
§Returns
If types match and a value exists, returns the first uint128 value; see # Errors.
§Errors
Returns ValueError::NoValue when the requested type matches
but no value is stored, or ValueError::TypeMismatch when
the stored data type differs.
Sourcepub fn get_first_float32(&self) -> ValueResult<f32>
pub fn get_first_float32(&self) -> ValueResult<f32>
Get the first float32 value
§Returns
If types match and a value exists, returns the first float32 value; see # Errors.
§Errors
Returns ValueError::NoValue when the requested type matches
but no value is stored, or ValueError::TypeMismatch when
the stored data type differs.
Sourcepub fn get_first_float64(&self) -> ValueResult<f64>
pub fn get_first_float64(&self) -> ValueResult<f64>
Get the first float64 value
§Returns
If types match and a value exists, returns the first float64 value; see # Errors.
§Errors
Returns ValueError::NoValue when the requested type matches
but no value is stored, or ValueError::TypeMismatch when
the stored data type differs.
Sourcepub fn get_first_string(&self) -> ValueResult<&str>
pub fn get_first_string(&self) -> ValueResult<&str>
Get the first string reference
§Returns
If types match and a value exists, returns a reference to the first
string; see # Errors.
§Errors
Returns ValueError::NoValue when the requested type matches
but no value is stored, or ValueError::TypeMismatch when
the stored data type differs.
Sourcepub fn get_first_date(&self) -> ValueResult<NaiveDate>
pub fn get_first_date(&self) -> ValueResult<NaiveDate>
Get the first date value
§Returns
If types match and a value exists, returns the first date value; see # Errors.
§Errors
Returns ValueError::NoValue when the requested type matches
but no value is stored, or ValueError::TypeMismatch when
the stored data type differs.
Sourcepub fn get_first_time(&self) -> ValueResult<NaiveTime>
pub fn get_first_time(&self) -> ValueResult<NaiveTime>
Get the first time value
§Returns
If types match and a value exists, returns the first time value; see # Errors.
§Errors
Returns ValueError::NoValue when the requested type matches
but no value is stored, or ValueError::TypeMismatch when
the stored data type differs.
Sourcepub fn get_first_datetime(&self) -> ValueResult<NaiveDateTime>
pub fn get_first_datetime(&self) -> ValueResult<NaiveDateTime>
Get the first datetime value
§Returns
If types match and a value exists, returns the first datetime value; see # Errors.
§Errors
Returns ValueError::NoValue when the requested type matches
but no value is stored, or ValueError::TypeMismatch when
the stored data type differs.
Sourcepub fn get_first_instant(&self) -> ValueResult<DateTime<Utc>>
pub fn get_first_instant(&self) -> ValueResult<DateTime<Utc>>
Get the first UTC instant value
§Returns
If types match and a value exists, returns the first UTC instant
value; see # Errors.
§Errors
Returns ValueError::NoValue when the requested type matches
but no value is stored, or ValueError::TypeMismatch when
the stored data type differs.
Sourcepub fn get_first_biginteger(&self) -> ValueResult<BigInt>
pub fn get_first_biginteger(&self) -> ValueResult<BigInt>
Get the first big integer value
§Returns
If types match and a value exists, returns the first big integer
value; see # Errors.
§Errors
Returns ValueError::NoValue when the requested type matches
but no value is stored, or ValueError::TypeMismatch when
the stored data type differs.
Sourcepub fn get_first_bigdecimal(&self) -> ValueResult<BigDecimal>
pub fn get_first_bigdecimal(&self) -> ValueResult<BigDecimal>
Get the first big decimal value
§Returns
If types match and a value exists, returns the first big decimal
value; see # Errors.
§Errors
Returns ValueError::NoValue when the requested type matches
but no value is stored, or ValueError::TypeMismatch when
the stored data type differs.
Sourcepub fn get_first_intsize(&self) -> ValueResult<isize>
pub fn get_first_intsize(&self) -> ValueResult<isize>
Get the first isize value
§Errors
Returns ValueError::NoValue when the requested type matches
but no value is stored, or ValueError::TypeMismatch when
the stored data type differs.
Sourcepub fn get_first_uintsize(&self) -> ValueResult<usize>
pub fn get_first_uintsize(&self) -> ValueResult<usize>
Get the first usize value
§Errors
Returns ValueError::NoValue when the requested type matches
but no value is stored, or ValueError::TypeMismatch when
the stored data type differs.
Sourcepub fn get_first_duration(&self) -> ValueResult<Duration>
pub fn get_first_duration(&self) -> ValueResult<Duration>
Get the first Duration value
§Errors
Returns ValueError::NoValue when the requested type matches
but no value is stored, or ValueError::TypeMismatch when
the stored data type differs.
Sourcepub fn get_first_url(&self) -> ValueResult<Url>
pub fn get_first_url(&self) -> ValueResult<Url>
Get the first Url value
§Errors
Returns ValueError::NoValue when the requested type matches
but no value is stored, or ValueError::TypeMismatch when
the stored data type differs.
Sourcepub fn get_first_string_map(&self) -> ValueResult<HashMap<String, String>>
pub fn get_first_string_map(&self) -> ValueResult<HashMap<String, String>>
Get the first StringMap value
§Errors
Returns ValueError::NoValue when the requested type matches
but no value is stored, or ValueError::TypeMismatch when
the stored data type differs.
Sourcepub fn get_first_json(&self) -> ValueResult<Value>
pub fn get_first_json(&self) -> ValueResult<Value>
Get the first Json value
§Errors
Returns ValueError::NoValue when the requested type matches
but no value is stored, or ValueError::TypeMismatch when
the stored data type differs.
Sourcepub fn get_bools(&self) -> ValueResult<&[bool]>
pub fn get_bools(&self) -> ValueResult<&[bool]>
Get reference to all boolean values
§Returns
If types match, returns a reference to the boolean value array; see # Errors.
§Example
use qubit_value::MultiValues;
let values = MultiValues::Bool(vec![true, false, true]);
assert_eq!(values.get_bools().unwrap(), &[true, false, true]);§Errors
Returns ValueError::TypeMismatch when the stored data type
differs. Empty values of the requested type return an empty slice.
Sourcepub fn get_chars(&self) -> ValueResult<&[char]>
pub fn get_chars(&self) -> ValueResult<&[char]>
Get reference to all character values
§Returns
If types match, returns a reference to the character value array; see # Errors.
§Errors
Returns ValueError::TypeMismatch when the stored data type
differs. Empty values of the requested type return an empty slice.
Sourcepub fn get_int8s(&self) -> ValueResult<&[i8]>
pub fn get_int8s(&self) -> ValueResult<&[i8]>
Get reference to all int8 values
§Returns
If types match, returns a reference to the int8 value array; see # Errors.
§Errors
Returns ValueError::TypeMismatch when the stored data type
differs. Empty values of the requested type return an empty slice.
Sourcepub fn get_int16s(&self) -> ValueResult<&[i16]>
pub fn get_int16s(&self) -> ValueResult<&[i16]>
Get reference to all int16 values
§Returns
If types match, returns a reference to the int16 value array; see # Errors.
§Errors
Returns ValueError::TypeMismatch when the stored data type
differs. Empty values of the requested type return an empty slice.
Sourcepub fn get_int32s(&self) -> ValueResult<&[i32]>
pub fn get_int32s(&self) -> ValueResult<&[i32]>
Get reference to all int32 values
§Returns
If types match, returns a reference to the int32 value array; see # Errors.
§Errors
Returns ValueError::TypeMismatch when the stored data type
differs. Empty values of the requested type return an empty slice.
Sourcepub fn get_int64s(&self) -> ValueResult<&[i64]>
pub fn get_int64s(&self) -> ValueResult<&[i64]>
Get reference to all int64 values
§Returns
If types match, returns a reference to the int64 value array; see # Errors.
§Errors
Returns ValueError::TypeMismatch when the stored data type
differs. Empty values of the requested type return an empty slice.
Sourcepub fn get_int128s(&self) -> ValueResult<&[i128]>
pub fn get_int128s(&self) -> ValueResult<&[i128]>
Get reference to all int128 values
§Returns
If types match, returns a reference to the int128 value array; see # Errors.
§Errors
Returns ValueError::TypeMismatch when the stored data type
differs. Empty values of the requested type return an empty slice.
Sourcepub fn get_uint8s(&self) -> ValueResult<&[u8]>
pub fn get_uint8s(&self) -> ValueResult<&[u8]>
Get reference to all uint8 values
§Returns
If types match, returns a reference to the uint8 value array; see # Errors.
§Errors
Returns ValueError::TypeMismatch when the stored data type
differs. Empty values of the requested type return an empty slice.
Sourcepub fn get_uint16s(&self) -> ValueResult<&[u16]>
pub fn get_uint16s(&self) -> ValueResult<&[u16]>
Get reference to all uint16 values
§Returns
If types match, returns a reference to the uint16 value array; see # Errors.
§Errors
Returns ValueError::TypeMismatch when the stored data type
differs. Empty values of the requested type return an empty slice.
Sourcepub fn get_uint32s(&self) -> ValueResult<&[u32]>
pub fn get_uint32s(&self) -> ValueResult<&[u32]>
Get reference to all uint32 values
§Returns
If types match, returns a reference to the uint32 value array; see # Errors.
§Errors
Returns ValueError::TypeMismatch when the stored data type
differs. Empty values of the requested type return an empty slice.
Sourcepub fn get_uint64s(&self) -> ValueResult<&[u64]>
pub fn get_uint64s(&self) -> ValueResult<&[u64]>
Get reference to all uint64 values
§Returns
If types match, returns a reference to the uint64 value array; see # Errors.
§Errors
Returns ValueError::TypeMismatch when the stored data type
differs. Empty values of the requested type return an empty slice.
Sourcepub fn get_uint128s(&self) -> ValueResult<&[u128]>
pub fn get_uint128s(&self) -> ValueResult<&[u128]>
Get reference to all uint128 values
§Returns
If types match, returns a reference to the uint128 value array; see # Errors.
§Errors
Returns ValueError::TypeMismatch when the stored data type
differs. Empty values of the requested type return an empty slice.
Sourcepub fn get_float32s(&self) -> ValueResult<&[f32]>
pub fn get_float32s(&self) -> ValueResult<&[f32]>
Get reference to all float32 values
§Returns
If types match, returns a reference to the float32 value array; see # Errors.
§Errors
Returns ValueError::TypeMismatch when the stored data type
differs. Empty values of the requested type return an empty slice.
Sourcepub fn get_float64s(&self) -> ValueResult<&[f64]>
pub fn get_float64s(&self) -> ValueResult<&[f64]>
Get reference to all float64 values
§Returns
If types match, returns a reference to the float64 value array; see # Errors.
§Errors
Returns ValueError::TypeMismatch when the stored data type
differs. Empty values of the requested type return an empty slice.
Sourcepub fn get_strings(&self) -> ValueResult<&[String]>
pub fn get_strings(&self) -> ValueResult<&[String]>
Get reference to all strings
§Returns
If types match, returns a reference to the string array; otherwise returns an error
§Errors
Returns ValueError::TypeMismatch when the stored data type
differs. Empty values of the requested type return an empty slice.
Sourcepub fn get_dates(&self) -> ValueResult<&[NaiveDate]>
pub fn get_dates(&self) -> ValueResult<&[NaiveDate]>
Get reference to all date values
§Returns
If types match, returns a reference to the date value array; see # Errors.
§Errors
Returns ValueError::TypeMismatch when the stored data type
differs. Empty values of the requested type return an empty slice.
Sourcepub fn get_times(&self) -> ValueResult<&[NaiveTime]>
pub fn get_times(&self) -> ValueResult<&[NaiveTime]>
Get reference to all time values
§Returns
If types match, returns a reference to the time value array; see # Errors.
§Errors
Returns ValueError::TypeMismatch when the stored data type
differs. Empty values of the requested type return an empty slice.
Sourcepub fn get_datetimes(&self) -> ValueResult<&[NaiveDateTime]>
pub fn get_datetimes(&self) -> ValueResult<&[NaiveDateTime]>
Get reference to all datetime values
§Returns
If types match, returns a reference to the datetime value array; see # Errors.
§Errors
Returns ValueError::TypeMismatch when the stored data type
differs. Empty values of the requested type return an empty slice.
Sourcepub fn get_instants(&self) -> ValueResult<&[DateTime<Utc>]>
pub fn get_instants(&self) -> ValueResult<&[DateTime<Utc>]>
Get reference to all UTC instant values
§Returns
If types match, returns a reference to the UTC instant value array; see # Errors.
§Errors
Returns ValueError::TypeMismatch when the stored data type
differs. Empty values of the requested type return an empty slice.
Sourcepub fn get_bigintegers(&self) -> ValueResult<&[BigInt]>
pub fn get_bigintegers(&self) -> ValueResult<&[BigInt]>
Get reference to all big integers
§Returns
If types match, returns a reference to the big integer array; see # Errors.
§Errors
Returns ValueError::TypeMismatch when the stored data type
differs. Empty values of the requested type return an empty slice.
Sourcepub fn get_bigdecimals(&self) -> ValueResult<&[BigDecimal]>
pub fn get_bigdecimals(&self) -> ValueResult<&[BigDecimal]>
Get reference to all big decimals
§Returns
If types match, returns a reference to the big decimal array; see # Errors.
§Errors
Returns ValueError::TypeMismatch when the stored data type
differs. Empty values of the requested type return an empty slice.
Sourcepub fn get_intsizes(&self) -> ValueResult<&[isize]>
pub fn get_intsizes(&self) -> ValueResult<&[isize]>
Get reference to all isize values
§Errors
Returns ValueError::TypeMismatch when the stored data type
differs. Empty values of the requested type return an empty slice.
Sourcepub fn get_uintsizes(&self) -> ValueResult<&[usize]>
pub fn get_uintsizes(&self) -> ValueResult<&[usize]>
Get reference to all usize values
§Errors
Returns ValueError::TypeMismatch when the stored data type
differs. Empty values of the requested type return an empty slice.
Sourcepub fn get_durations(&self) -> ValueResult<&[Duration]>
pub fn get_durations(&self) -> ValueResult<&[Duration]>
Get reference to all Duration values
§Errors
Returns ValueError::TypeMismatch when the stored data type
differs. Empty values of the requested type return an empty slice.
Sourcepub fn get_urls(&self) -> ValueResult<&[Url]>
pub fn get_urls(&self) -> ValueResult<&[Url]>
Get reference to all Url values
§Errors
Returns ValueError::TypeMismatch when the stored data type
differs. Empty values of the requested type return an empty slice.
Sourcepub fn get_string_maps(&self) -> ValueResult<&[HashMap<String, String>]>
pub fn get_string_maps(&self) -> ValueResult<&[HashMap<String, String>]>
Get reference to all StringMap values
§Errors
Returns ValueError::TypeMismatch when the stored data type
differs. Empty values of the requested type return an empty slice.
Sourcepub fn get_jsons(&self) -> ValueResult<&[Value]>
pub fn get_jsons(&self) -> ValueResult<&[Value]>
Get reference to all Json values
§Errors
Returns ValueError::TypeMismatch when the stored data type
differs. Empty values of the requested type return an empty slice.
Source§impl MultiValues
impl MultiValues
Sourcepub fn set_bools(&mut self, values: Vec<bool>) -> ValueResult<()>
pub fn set_bools(&mut self, values: Vec<bool>) -> ValueResult<()>
Set all boolean values
§Parameters
values- The list of boolean values to set
§Returns
Always returns Ok(()) for this supported setter.
§Example
use qubit_datatype::DataType;
use qubit_value::MultiValues;
let mut values = MultiValues::Empty(DataType::Bool);
values.set_bools(vec![true, false, true]).unwrap();
assert_eq!(values.get_bools().unwrap(), &[true, false, true]);Sourcepub fn set_int16s(&mut self, values: Vec<i16>) -> ValueResult<()>
pub fn set_int16s(&mut self, values: Vec<i16>) -> ValueResult<()>
Sourcepub fn set_int32s(&mut self, values: Vec<i32>) -> ValueResult<()>
pub fn set_int32s(&mut self, values: Vec<i32>) -> ValueResult<()>
Sourcepub fn set_int64s(&mut self, values: Vec<i64>) -> ValueResult<()>
pub fn set_int64s(&mut self, values: Vec<i64>) -> ValueResult<()>
Sourcepub fn set_int128s(&mut self, values: Vec<i128>) -> ValueResult<()>
pub fn set_int128s(&mut self, values: Vec<i128>) -> ValueResult<()>
Sourcepub fn set_uint8s(&mut self, values: Vec<u8>) -> ValueResult<()>
pub fn set_uint8s(&mut self, values: Vec<u8>) -> ValueResult<()>
Sourcepub fn set_uint16s(&mut self, values: Vec<u16>) -> ValueResult<()>
pub fn set_uint16s(&mut self, values: Vec<u16>) -> ValueResult<()>
Sourcepub fn set_uint32s(&mut self, values: Vec<u32>) -> ValueResult<()>
pub fn set_uint32s(&mut self, values: Vec<u32>) -> ValueResult<()>
Sourcepub fn set_uint64s(&mut self, values: Vec<u64>) -> ValueResult<()>
pub fn set_uint64s(&mut self, values: Vec<u64>) -> ValueResult<()>
Sourcepub fn set_uint128s(&mut self, values: Vec<u128>) -> ValueResult<()>
pub fn set_uint128s(&mut self, values: Vec<u128>) -> ValueResult<()>
Sourcepub fn set_float32s(&mut self, values: Vec<f32>) -> ValueResult<()>
pub fn set_float32s(&mut self, values: Vec<f32>) -> ValueResult<()>
Sourcepub fn set_float64s(&mut self, values: Vec<f64>) -> ValueResult<()>
pub fn set_float64s(&mut self, values: Vec<f64>) -> ValueResult<()>
Sourcepub fn set_strings(&mut self, values: Vec<String>) -> ValueResult<()>
pub fn set_strings(&mut self, values: Vec<String>) -> ValueResult<()>
Set all string values
§Parameters
values- The list of string values to set
§Returns
Always returns Ok(()) for this supported setter.
§Example
use qubit_datatype::DataType;
use qubit_value::MultiValues;
let mut values = MultiValues::Empty(DataType::String);
values.set_strings(vec!["hello".to_string(), "world".to_string()]).unwrap();
assert_eq!(values.get_strings().unwrap(), &["hello", "world"]);Sourcepub fn set_datetimes(&mut self, values: Vec<NaiveDateTime>) -> ValueResult<()>
pub fn set_datetimes(&mut self, values: Vec<NaiveDateTime>) -> ValueResult<()>
Sourcepub fn set_instants(&mut self, values: Vec<DateTime<Utc>>) -> ValueResult<()>
pub fn set_instants(&mut self, values: Vec<DateTime<Utc>>) -> ValueResult<()>
Sourcepub fn set_bigintegers(&mut self, values: Vec<BigInt>) -> ValueResult<()>
pub fn set_bigintegers(&mut self, values: Vec<BigInt>) -> ValueResult<()>
Sourcepub fn set_bigdecimals(&mut self, values: Vec<BigDecimal>) -> ValueResult<()>
pub fn set_bigdecimals(&mut self, values: Vec<BigDecimal>) -> ValueResult<()>
Sourcepub fn set_intsizes(&mut self, values: Vec<isize>) -> ValueResult<()>
pub fn set_intsizes(&mut self, values: Vec<isize>) -> ValueResult<()>
Set all isize values
Sourcepub fn set_uintsizes(&mut self, values: Vec<usize>) -> ValueResult<()>
pub fn set_uintsizes(&mut self, values: Vec<usize>) -> ValueResult<()>
Set all usize values
Sourcepub fn set_durations(&mut self, values: Vec<Duration>) -> ValueResult<()>
pub fn set_durations(&mut self, values: Vec<Duration>) -> ValueResult<()>
Set all Duration values
Sourcepub fn set_string_maps(
&mut self,
values: Vec<HashMap<String, String>>,
) -> ValueResult<()>
pub fn set_string_maps( &mut self, values: Vec<HashMap<String, String>>, ) -> ValueResult<()>
Set all StringMap values
Sourcepub fn set_bools_slice(&mut self, values: &[bool]) -> ValueResult<()>
pub fn set_bools_slice(&mut self, values: &[bool]) -> ValueResult<()>
Sourcepub fn set_chars_slice(&mut self, values: &[char]) -> ValueResult<()>
pub fn set_chars_slice(&mut self, values: &[char]) -> ValueResult<()>
Sourcepub fn set_int8s_slice(&mut self, values: &[i8]) -> ValueResult<()>
pub fn set_int8s_slice(&mut self, values: &[i8]) -> ValueResult<()>
Sourcepub fn set_int16s_slice(&mut self, values: &[i16]) -> ValueResult<()>
pub fn set_int16s_slice(&mut self, values: &[i16]) -> ValueResult<()>
Sourcepub fn set_int32s_slice(&mut self, values: &[i32]) -> ValueResult<()>
pub fn set_int32s_slice(&mut self, values: &[i32]) -> ValueResult<()>
Sourcepub fn set_int64s_slice(&mut self, values: &[i64]) -> ValueResult<()>
pub fn set_int64s_slice(&mut self, values: &[i64]) -> ValueResult<()>
Sourcepub fn set_int128s_slice(&mut self, values: &[i128]) -> ValueResult<()>
pub fn set_int128s_slice(&mut self, values: &[i128]) -> ValueResult<()>
Sourcepub fn set_uint8s_slice(&mut self, values: &[u8]) -> ValueResult<()>
pub fn set_uint8s_slice(&mut self, values: &[u8]) -> ValueResult<()>
Sourcepub fn set_uint16s_slice(&mut self, values: &[u16]) -> ValueResult<()>
pub fn set_uint16s_slice(&mut self, values: &[u16]) -> ValueResult<()>
Sourcepub fn set_uint32s_slice(&mut self, values: &[u32]) -> ValueResult<()>
pub fn set_uint32s_slice(&mut self, values: &[u32]) -> ValueResult<()>
Sourcepub fn set_uint64s_slice(&mut self, values: &[u64]) -> ValueResult<()>
pub fn set_uint64s_slice(&mut self, values: &[u64]) -> ValueResult<()>
Sourcepub fn set_uint128s_slice(&mut self, values: &[u128]) -> ValueResult<()>
pub fn set_uint128s_slice(&mut self, values: &[u128]) -> ValueResult<()>
Sourcepub fn set_float32s_slice(&mut self, values: &[f32]) -> ValueResult<()>
pub fn set_float32s_slice(&mut self, values: &[f32]) -> ValueResult<()>
Sourcepub fn set_float64s_slice(&mut self, values: &[f64]) -> ValueResult<()>
pub fn set_float64s_slice(&mut self, values: &[f64]) -> ValueResult<()>
Sourcepub fn set_strings_slice(&mut self, values: &[String]) -> ValueResult<()>
pub fn set_strings_slice(&mut self, values: &[String]) -> ValueResult<()>
Sourcepub fn set_dates_slice(&mut self, values: &[NaiveDate]) -> ValueResult<()>
pub fn set_dates_slice(&mut self, values: &[NaiveDate]) -> ValueResult<()>
Sourcepub fn set_times_slice(&mut self, values: &[NaiveTime]) -> ValueResult<()>
pub fn set_times_slice(&mut self, values: &[NaiveTime]) -> ValueResult<()>
Sourcepub fn set_datetimes_slice(
&mut self,
values: &[NaiveDateTime],
) -> ValueResult<()>
pub fn set_datetimes_slice( &mut self, values: &[NaiveDateTime], ) -> ValueResult<()>
Sourcepub fn set_instants_slice(
&mut self,
values: &[DateTime<Utc>],
) -> ValueResult<()>
pub fn set_instants_slice( &mut self, values: &[DateTime<Utc>], ) -> ValueResult<()>
Sourcepub fn set_bigintegers_slice(&mut self, values: &[BigInt]) -> ValueResult<()>
pub fn set_bigintegers_slice(&mut self, values: &[BigInt]) -> ValueResult<()>
Sourcepub fn set_bigdecimals_slice(
&mut self,
values: &[BigDecimal],
) -> ValueResult<()>
pub fn set_bigdecimals_slice( &mut self, values: &[BigDecimal], ) -> ValueResult<()>
Sourcepub fn set_intsizes_slice(&mut self, values: &[isize]) -> ValueResult<()>
pub fn set_intsizes_slice(&mut self, values: &[isize]) -> ValueResult<()>
Set all isize values via slice
Sourcepub fn set_uintsizes_slice(&mut self, values: &[usize]) -> ValueResult<()>
pub fn set_uintsizes_slice(&mut self, values: &[usize]) -> ValueResult<()>
Set all usize values via slice
Sourcepub fn set_durations_slice(&mut self, values: &[Duration]) -> ValueResult<()>
pub fn set_durations_slice(&mut self, values: &[Duration]) -> ValueResult<()>
Set all Duration values via slice
Sourcepub fn set_urls_slice(&mut self, values: &[Url]) -> ValueResult<()>
pub fn set_urls_slice(&mut self, values: &[Url]) -> ValueResult<()>
Set all Url values via slice
Sourcepub fn set_string_maps_slice(
&mut self,
values: &[HashMap<String, String>],
) -> ValueResult<()>
pub fn set_string_maps_slice( &mut self, values: &[HashMap<String, String>], ) -> ValueResult<()>
Set all StringMap values via slice
Sourcepub fn set_jsons_slice(&mut self, values: &[Value]) -> ValueResult<()>
pub fn set_jsons_slice(&mut self, values: &[Value]) -> ValueResult<()>
Set all Json values via slice
Sourcepub fn set_bool(&mut self, value: bool) -> ValueResult<()>
pub fn set_bool(&mut self, value: bool) -> ValueResult<()>
Set single boolean value
§Parameters
value- The boolean value to set
§Returns
Always returns Ok(()) for this supported setter.
§Example
use qubit_datatype::DataType;
use qubit_value::MultiValues;
let mut values = MultiValues::Empty(DataType::Bool);
values.set_bool(true).unwrap();
assert_eq!(values.get_bools().unwrap(), &[true]);Sourcepub fn set_char(&mut self, value: char) -> ValueResult<()>
pub fn set_char(&mut self, value: char) -> ValueResult<()>
Sourcepub fn set_int8(&mut self, value: i8) -> ValueResult<()>
pub fn set_int8(&mut self, value: i8) -> ValueResult<()>
Sourcepub fn set_int16(&mut self, value: i16) -> ValueResult<()>
pub fn set_int16(&mut self, value: i16) -> ValueResult<()>
Sourcepub fn set_int32(&mut self, value: i32) -> ValueResult<()>
pub fn set_int32(&mut self, value: i32) -> ValueResult<()>
Sourcepub fn set_int64(&mut self, value: i64) -> ValueResult<()>
pub fn set_int64(&mut self, value: i64) -> ValueResult<()>
Sourcepub fn set_int128(&mut self, value: i128) -> ValueResult<()>
pub fn set_int128(&mut self, value: i128) -> ValueResult<()>
Sourcepub fn set_uint8(&mut self, value: u8) -> ValueResult<()>
pub fn set_uint8(&mut self, value: u8) -> ValueResult<()>
Sourcepub fn set_uint16(&mut self, value: u16) -> ValueResult<()>
pub fn set_uint16(&mut self, value: u16) -> ValueResult<()>
Sourcepub fn set_uint32(&mut self, value: u32) -> ValueResult<()>
pub fn set_uint32(&mut self, value: u32) -> ValueResult<()>
Sourcepub fn set_uint64(&mut self, value: u64) -> ValueResult<()>
pub fn set_uint64(&mut self, value: u64) -> ValueResult<()>
Sourcepub fn set_uint128(&mut self, value: u128) -> ValueResult<()>
pub fn set_uint128(&mut self, value: u128) -> ValueResult<()>
Sourcepub fn set_float32(&mut self, value: f32) -> ValueResult<()>
pub fn set_float32(&mut self, value: f32) -> ValueResult<()>
Sourcepub fn set_float64(&mut self, value: f64) -> ValueResult<()>
pub fn set_float64(&mut self, value: f64) -> ValueResult<()>
Sourcepub fn set_string(&mut self, value: String) -> ValueResult<()>
pub fn set_string(&mut self, value: String) -> ValueResult<()>
Set single string value
§Parameters
value- The string value to set
§Returns
Always returns Ok(()) for this supported setter.
§Example
use qubit_datatype::DataType;
use qubit_value::MultiValues;
let mut values = MultiValues::Empty(DataType::String);
values.set_string("hello".to_string()).unwrap();
assert_eq!(values.get_strings().unwrap(), &["hello"]);Sourcepub fn set_date(&mut self, value: NaiveDate) -> ValueResult<()>
pub fn set_date(&mut self, value: NaiveDate) -> ValueResult<()>
Sourcepub fn set_time(&mut self, value: NaiveTime) -> ValueResult<()>
pub fn set_time(&mut self, value: NaiveTime) -> ValueResult<()>
Sourcepub fn set_datetime(&mut self, value: NaiveDateTime) -> ValueResult<()>
pub fn set_datetime(&mut self, value: NaiveDateTime) -> ValueResult<()>
Sourcepub fn set_instant(&mut self, value: DateTime<Utc>) -> ValueResult<()>
pub fn set_instant(&mut self, value: DateTime<Utc>) -> ValueResult<()>
Sourcepub fn set_biginteger(&mut self, value: BigInt) -> ValueResult<()>
pub fn set_biginteger(&mut self, value: BigInt) -> ValueResult<()>
Sourcepub fn set_bigdecimal(&mut self, value: BigDecimal) -> ValueResult<()>
pub fn set_bigdecimal(&mut self, value: BigDecimal) -> ValueResult<()>
Sourcepub fn set_intsize(&mut self, value: isize) -> ValueResult<()>
pub fn set_intsize(&mut self, value: isize) -> ValueResult<()>
Set single isize value
Sourcepub fn set_uintsize(&mut self, value: usize) -> ValueResult<()>
pub fn set_uintsize(&mut self, value: usize) -> ValueResult<()>
Set single usize value
Sourcepub fn set_duration(&mut self, value: Duration) -> ValueResult<()>
pub fn set_duration(&mut self, value: Duration) -> ValueResult<()>
Set single Duration value
Sourcepub fn set_url(&mut self, value: Url) -> ValueResult<()>
pub fn set_url(&mut self, value: Url) -> ValueResult<()>
Set single Url value
Sourcepub fn set_string_map(
&mut self,
value: HashMap<String, String>,
) -> ValueResult<()>
pub fn set_string_map( &mut self, value: HashMap<String, String>, ) -> ValueResult<()>
Set single StringMap value
Sourcepub fn set_json(&mut self, value: Value) -> ValueResult<()>
pub fn set_json(&mut self, value: Value) -> ValueResult<()>
Set single Json value
Trait Implementations§
Source§impl Clone for MultiValues
impl Clone for MultiValues
Source§fn clone(&self) -> MultiValues
fn clone(&self) -> MultiValues
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for MultiValues
impl Debug for MultiValues
Source§impl Default for MultiValues
impl Default for MultiValues
Source§impl<'de> Deserialize<'de> for MultiValues
impl<'de> Deserialize<'de> for MultiValues
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Source§impl<'a, 'b> From<&'a [&'b str]> for MultiValues
impl<'a, 'b> From<&'a [&'b str]> for MultiValues
Source§impl From<&[BigDecimal]> for MultiValueswhere
BigDecimal: Clone,
impl From<&[BigDecimal]> for MultiValueswhere
BigDecimal: Clone,
Source§fn from(values: &[BigDecimal]) -> Self
fn from(values: &[BigDecimal]) -> Self
Source§impl<const N: usize> From<&[BigDecimal; N]> for MultiValueswhere
BigDecimal: Clone,
impl<const N: usize> From<&[BigDecimal; N]> for MultiValueswhere
BigDecimal: Clone,
Source§fn from(values: &[BigDecimal; N]) -> Self
fn from(values: &[BigDecimal; N]) -> Self
Source§impl From<&[BigInt]> for MultiValues
impl From<&[BigInt]> for MultiValues
Source§impl From<&[Duration]> for MultiValues
impl From<&[Duration]> for MultiValues
Source§impl From<&[NaiveDate]> for MultiValues
impl From<&[NaiveDate]> for MultiValues
Source§impl From<&[NaiveDateTime]> for MultiValueswhere
NaiveDateTime: Clone,
impl From<&[NaiveDateTime]> for MultiValueswhere
NaiveDateTime: Clone,
Source§fn from(values: &[NaiveDateTime]) -> Self
fn from(values: &[NaiveDateTime]) -> Self
Source§impl<const N: usize> From<&[NaiveDateTime; N]> for MultiValueswhere
NaiveDateTime: Clone,
impl<const N: usize> From<&[NaiveDateTime; N]> for MultiValueswhere
NaiveDateTime: Clone,
Source§fn from(values: &[NaiveDateTime; N]) -> Self
fn from(values: &[NaiveDateTime; N]) -> Self
Source§impl From<&[NaiveTime]> for MultiValues
impl From<&[NaiveTime]> for MultiValues
Source§impl From<&[String]> for MultiValues
impl From<&[String]> for MultiValues
Source§impl From<&[Url]> for MultiValues
impl From<&[Url]> for MultiValues
Source§impl From<&[Value]> for MultiValues
impl From<&[Value]> for MultiValues
Source§impl From<&[bool]> for MultiValues
impl From<&[bool]> for MultiValues
Source§impl From<&[char]> for MultiValues
impl From<&[char]> for MultiValues
Source§impl From<&[f32]> for MultiValues
impl From<&[f32]> for MultiValues
Source§impl From<&[f64]> for MultiValues
impl From<&[f64]> for MultiValues
Source§impl From<&[i128]> for MultiValues
impl From<&[i128]> for MultiValues
Source§impl From<&[i16]> for MultiValues
impl From<&[i16]> for MultiValues
Source§impl From<&[i32]> for MultiValues
impl From<&[i32]> for MultiValues
Source§impl From<&[i64]> for MultiValues
impl From<&[i64]> for MultiValues
Source§impl From<&[i8]> for MultiValues
impl From<&[i8]> for MultiValues
Source§impl From<&[isize]> for MultiValues
impl From<&[isize]> for MultiValues
Source§impl From<&[u128]> for MultiValues
impl From<&[u128]> for MultiValues
Source§impl From<&[u16]> for MultiValues
impl From<&[u16]> for MultiValues
Source§impl From<&[u32]> for MultiValues
impl From<&[u32]> for MultiValues
Source§impl From<&[u64]> for MultiValues
impl From<&[u64]> for MultiValues
Source§impl From<&[u8]> for MultiValues
impl From<&[u8]> for MultiValues
Source§impl From<&[usize]> for MultiValues
impl From<&[usize]> for MultiValues
Source§impl From<&Vec<BigDecimal>> for MultiValueswhere
BigDecimal: Clone,
impl From<&Vec<BigDecimal>> for MultiValueswhere
BigDecimal: Clone,
Source§fn from(values: &Vec<BigDecimal>) -> Self
fn from(values: &Vec<BigDecimal>) -> Self
Source§impl From<&Vec<NaiveDateTime>> for MultiValueswhere
NaiveDateTime: Clone,
impl From<&Vec<NaiveDateTime>> for MultiValueswhere
NaiveDateTime: Clone,
Source§fn from(values: &Vec<NaiveDateTime>) -> Self
fn from(values: &Vec<NaiveDateTime>) -> Self
Source§impl From<&str> for MultiValues
impl From<&str> for MultiValues
Source§impl<const N: usize> From<[BigDecimal; N]> for MultiValues
impl<const N: usize> From<[BigDecimal; N]> for MultiValues
Source§fn from(values: [BigDecimal; N]) -> Self
fn from(values: [BigDecimal; N]) -> Self
Source§impl<const N: usize> From<[NaiveDateTime; N]> for MultiValues
impl<const N: usize> From<[NaiveDateTime; N]> for MultiValues
Source§fn from(values: [NaiveDateTime; N]) -> Self
fn from(values: [NaiveDateTime; N]) -> Self
Source§impl From<BigDecimal> for MultiValues
impl From<BigDecimal> for MultiValues
Source§fn from(value: BigDecimal) -> Self
fn from(value: BigDecimal) -> Self
Source§impl From<BigInt> for MultiValues
impl From<BigInt> for MultiValues
Source§impl From<Duration> for MultiValues
impl From<Duration> for MultiValues
Source§impl From<NaiveDate> for MultiValues
impl From<NaiveDate> for MultiValues
Source§impl From<NaiveDateTime> for MultiValues
impl From<NaiveDateTime> for MultiValues
Source§fn from(value: NaiveDateTime) -> Self
fn from(value: NaiveDateTime) -> Self
Source§impl From<NaiveTime> for MultiValues
impl From<NaiveTime> for MultiValues
Source§impl From<String> for MultiValues
impl From<String> for MultiValues
Source§impl From<Url> for MultiValues
impl From<Url> for MultiValues
Source§impl From<Value> for MultiValues
impl From<Value> for MultiValues
Source§impl From<Value> for MultiValues
impl From<Value> for MultiValues
Source§impl From<Vec<BigDecimal>> for MultiValues
impl From<Vec<BigDecimal>> for MultiValues
Source§fn from(values: Vec<BigDecimal>) -> Self
fn from(values: Vec<BigDecimal>) -> Self
Source§impl From<Vec<NaiveDateTime>> for MultiValues
impl From<Vec<NaiveDateTime>> for MultiValues
Source§fn from(values: Vec<NaiveDateTime>) -> Self
fn from(values: Vec<NaiveDateTime>) -> Self
Source§impl From<bool> for MultiValues
impl From<bool> for MultiValues
Source§impl From<char> for MultiValues
impl From<char> for MultiValues
Source§impl From<f32> for MultiValues
impl From<f32> for MultiValues
Source§impl From<f64> for MultiValues
impl From<f64> for MultiValues
Source§impl From<i128> for MultiValues
impl From<i128> for MultiValues
Source§impl From<i16> for MultiValues
impl From<i16> for MultiValues
Source§impl From<i32> for MultiValues
impl From<i32> for MultiValues
Source§impl From<i64> for MultiValues
impl From<i64> for MultiValues
Source§impl From<i8> for MultiValues
impl From<i8> for MultiValues
Source§impl From<isize> for MultiValues
impl From<isize> for MultiValues
Source§impl From<u128> for MultiValues
impl From<u128> for MultiValues
Source§impl From<u16> for MultiValues
impl From<u16> for MultiValues
Source§impl From<u32> for MultiValues
impl From<u32> for MultiValues
Source§impl From<u64> for MultiValues
impl From<u64> for MultiValues
Source§impl From<u8> for MultiValues
impl From<u8> for MultiValues
Source§impl From<usize> for MultiValues
impl From<usize> for MultiValues
Source§impl PartialEq for MultiValues
impl PartialEq for MultiValues
Source§fn eq(&self, other: &MultiValues) -> bool
fn eq(&self, other: &MultiValues) -> bool
self and other values to be equal, and is used by ==.