Struct ion_c_sys::_ion_string [−][src]
Fields
length: i32
< The number of bytes in the value array.
value: *mut BYTE
< UTF-8 encoded text, not null-terminated.
Implementations
Constructs an ION_STRING
from a &mut str
.
Note that this is effectively Ion C’s &mut str
type so lifetime is managed
manually by the caller.
Also note, that it is possible to violate the UTF-8 invariant of the source data, so care should be taken when using this API.
Usage
Generally, using a mutable owned source will be the safest option.
let mut buf = "Some data".to_string(); let mut ion_str = ION_STRING::try_from_mut_str(buf.as_mut_str())?;
Constructs an ION_STRING
from a &mut [u8]
.
Note that this is effectively Ion C’s &mut [u8]
type so lifetime is managed
manually by the caller.
Usage
Generally, using a mutable owned source will be the safest option.
let mut buf = b"Some data".to_vec(); let mut ion_str = ION_STRING::try_from_mut_bytes(buf.as_mut_slice())?;
Retrieves a UTF-8 slice view from an ION_STRING
.
When the value
pointer is null
, the conversion will fail:
let ion_str = ION_STRING::default(); match ion_str.try_as_str() { Ok(_) => panic!("Cannot happen!"), Err(e) => assert_eq!(ion_error_code_IERR_NULL_VALUE, e.code), }
When the string is not valid UTF-8, the conversion will fail:
let mut buf = b"\xFF".to_vec(); let ion_str = ION_STRING::try_from_mut_bytes(buf.as_mut_slice()).unwrap(); match ion_str.try_as_str() { Ok(_) => panic!("Cannot happen!"), Err(e) => assert_eq!(ion_error_code_IERR_INVALID_UTF8, e.code), }
Retrieves a slice view from an ION_STRING
When the value
pointer is null
, the conversion will return an IonCError
:
let ion_str = ION_STRING::default(); match ion_str.try_as_bytes() { Ok(_) => panic!("Cannot happen!"), Err(e) => assert_eq!(ion_error_code_IERR_NULL_VALUE, e.code), }
Trait Implementations
Auto Trait Implementations
impl RefUnwindSafe for _ion_string
impl !Send for _ion_string
impl !Sync for _ion_string
impl Unpin for _ion_string
impl UnwindSafe for _ion_string
Blanket Implementations
Mutably borrows from an owned value. Read more