Struct oboe_sys::oboe_ResultWithValue
source · #[repr(C)]pub struct oboe_ResultWithValue<T> {
pub mValue: T,
pub mError: oboe_Result,
pub _phantom_0: PhantomData<UnsafeCell<T>>,
}Expand description
A ResultWithValue can store both the result of an operation (either OK or an error) and a value.
It has been designed for cases where the caller needs to know whether an operation succeeded and, if it did, a value which was obtained during the operation.
For example, when reading from a stream the caller needs to know the result of the read operation and, if it was successful, how many frames were read. Note that ResultWithValue can be evaluated as a boolean so it’s simple to check whether the result is OK.
ResultWithValue resultOfRead = myStream.read(&buffer, numFrames, timeoutNanoseconds);
if (resultOfRead) {
LOGD(“Frames read: %d”, resultOfRead.value());
} else {
LOGD(“Error reading from stream: %s”, resultOfRead.error());
}
Fields§
§mValue: T§mError: oboe_Result§_phantom_0: PhantomData<UnsafeCell<T>>Trait Implementations§
source§impl<T: Clone> Clone for oboe_ResultWithValue<T>
impl<T: Clone> Clone for oboe_ResultWithValue<T>
source§fn clone(&self) -> oboe_ResultWithValue<T>
fn clone(&self) -> oboe_ResultWithValue<T>
Returns a copy of the value. Read more
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read more