Struct oboe_sys::oboe_ResultWithValue [−][src]
#[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
Auto Trait Implementations
impl<T> !RefUnwindSafe for oboe_ResultWithValue<T>
impl<T> Send for oboe_ResultWithValue<T> where
T: Send,
impl<T> !Sync for oboe_ResultWithValue<T>
impl<T> Unpin for oboe_ResultWithValue<T> where
T: Unpin,
impl<T> UnwindSafe for oboe_ResultWithValue<T> where
T: UnwindSafe,
Blanket Implementations
Mutably borrows from an owned value. Read more