Enum tango_client::types::AttrValue
source · pub enum AttrValue {
Show 26 variants
Boolean(bool),
UChar(u8),
Short(i16),
UShort(u16),
Long(i32),
ULong(u32),
Long64(i64),
ULong64(u64),
Float(f32),
Double(f64),
String(Vec<u8>),
State(TangoDevState),
Encoded(DevEncoded),
BooleanArray(Vec<bool>),
UCharArray(Vec<u8>),
ShortArray(Vec<i16>),
UShortArray(Vec<u16>),
LongArray(Vec<i32>),
ULongArray(Vec<u32>),
Long64Array(Vec<i64>),
ULong64Array(Vec<u64>),
FloatArray(Vec<f32>),
DoubleArray(Vec<f64>),
StringArray(Vec<Vec<u8>>),
StateArray(Vec<TangoDevState>),
EncodedArray(Vec<DevEncoded>),
}
Expand description
Represents the value of an attribute.
The normal way to construct this is to use the desired variant directly.
Variants§
Boolean(bool)
UChar(u8)
Short(i16)
UShort(u16)
Long(i32)
ULong(u32)
Long64(i64)
ULong64(u64)
Float(f32)
Double(f64)
String(Vec<u8>)
State(TangoDevState)
Encoded(DevEncoded)
BooleanArray(Vec<bool>)
UCharArray(Vec<u8>)
ShortArray(Vec<i16>)
UShortArray(Vec<u16>)
LongArray(Vec<i32>)
ULongArray(Vec<u32>)
Long64Array(Vec<i64>)
ULong64Array(Vec<u64>)
FloatArray(Vec<f32>)
DoubleArray(Vec<f64>)
StringArray(Vec<Vec<u8>>)
StateArray(Vec<TangoDevState>)
EncodedArray(Vec<DevEncoded>)
Implementations§
source§impl AttrValue
impl AttrValue
sourcepub fn len(&self) -> usize
pub fn len(&self) -> usize
Return the number of items in this value.
1 for simple values, the length for arrays.
sourcepub fn convert(self, to: TangoDataType) -> Result<Self, Self>
pub fn convert(self, to: TangoDataType) -> Result<Self, Self>
Try to convert this data into a different type.
If the conversion fails or is impossible, Self
is returned unchanged
in the Err
variant.
sourcepub fn into_bool(self) -> Result<bool, Self>
pub fn into_bool(self) -> Result<bool, Self>
Return the value if it’s a bool or integral 0 or 1. Otherwise return
Err(self)
.
sourcepub fn into_i32(self) -> Result<i32, Self>
pub fn into_i32(self) -> Result<i32, Self>
Return the value as i32 if it’s an integral type and inside i32 limits.
Otherwise return Err(self)
.
sourcepub fn into_i64(self) -> Result<i64, Self>
pub fn into_i64(self) -> Result<i64, Self>
Return the value as i64 if it’s a an integral type and inside i64
limits. Otherwise return Err(self)
.
sourcepub fn into_u32(self) -> Result<u32, Self>
pub fn into_u32(self) -> Result<u32, Self>
Return the value as u32 if it’s an integral type and inside u32 limits.
Otherwise return Err(self)
.
sourcepub fn into_u64(self) -> Result<u64, Self>
pub fn into_u64(self) -> Result<u64, Self>
Return the value as u64 if it’s an integral type and inside u64 limits.
Otherwise return Err(self)
.
sourcepub fn into_f32(self) -> Result<f32, Self>
pub fn into_f32(self) -> Result<f32, Self>
Return the value as f32 if it’s a numeric type. Otherwise return Err(self)
.
sourcepub fn into_f64(self) -> Result<f64, Self>
pub fn into_f64(self) -> Result<f64, Self>
Return the value as f64 if it’s a numeric type. Otherwise return Err(self)
.
sourcepub fn into_bytes(self) -> Result<Vec<u8>, Self>
pub fn into_bytes(self) -> Result<Vec<u8>, Self>
Return the value as a byte array if it’s a string, DevEncoded or
UCharArray. Otherwise return Err(self)
.
sourcepub fn into_string(self) -> Result<String, Self>
pub fn into_string(self) -> Result<String, Self>
Return the value as a byte array if it’s a string, DevEncoded or
UCharArray, and decodable as UTF-8. Otherwise return Err(self)
.