Struct ion_rs::BinaryIonCursor [−][src]
pub struct BinaryIonCursor<R> where
R: IonDataSource, { /* fields omitted */ }
Implementations
impl<T> BinaryIonCursor<Cursor<T>> where
T: AsRef<[u8]>,
[src]
impl<T> BinaryIonCursor<Cursor<T>> where
T: AsRef<[u8]>,
[src]Additional functionality that’s only available if the data source is in-memory, such as a
Vec
pub fn field_id_length(&self) -> Option<usize>
[src]
pub fn field_id_offset(&self) -> Option<usize>
[src]
pub fn field_id_range(&self) -> Option<Range<usize>>
[src]
pub fn annotations_length(&self) -> Option<usize>
[src]
pub fn annotations_offset(&self) -> Option<usize>
[src]
pub fn annotations_range(&self) -> Option<Range<usize>>
[src]
pub fn header_length(&self) -> usize
[src]
pub fn header_offset(&self) -> usize
[src]
pub fn header_range(&self) -> Range<usize>
[src]
pub fn value_length(&self) -> usize
[src]
pub fn value_offset(&self) -> usize
[src]
pub fn value_range(&self) -> Range<usize>
[src]
pub fn raw_bytes(&self) -> Option<&[u8]>
[src]
Returns a slice containing the entirety of this encoded value, including its field ID (if present), its annotations (if present), its header, and the encoded value itself. Calling this function does not advance the cursor.
pub fn raw_header_bytes(&self) -> Option<&[u8]>
[src]
Returns a slice containing the current value’s header’s raw bytes without advancing the
cursor. Includes the type descriptor byte and any bytes used to represent the length
field.
pub fn raw_value_bytes(&self) -> Option<&[u8]>
[src]
Returns a slice containing the current value’s raw bytes (not including its field ID, annotations, or type descriptor byte) without advancing the cursor.
pub fn raw_field_id_bytes(&self) -> Option<&[u8]>
[src]
Returns a slice containing the current value’s raw field ID bytes (if present) without advancing the cursor.
pub fn raw_annotations_bytes(&self) -> Option<&[u8]>
[src]
Returns a slice containing the current value’s annotations (if any) without advancing the cursor.
impl<R> BinaryIonCursor<R> where
R: IonDataSource,
[src]
impl<R> BinaryIonCursor<R> where
R: IonDataSource,
[src]Trait Implementations
impl<R: IonDataSource> Cursor for BinaryIonCursor<R>
[src]
impl<R: IonDataSource> Cursor for BinaryIonCursor<R>
[src]type DataSource = R
fn ion_version(&self) -> (u8, u8)
[src]
fn next(&mut self) -> IonResult<Option<StreamItem>>
[src]
fn ion_type(&self) -> Option<IonType>
[src]
fn is_null(&self) -> bool
[src]
fn annotation_ids(&self) -> &[SymbolId]
[src]
fn field_id(&self) -> Option<SymbolId>
[src]
fn read_null(&mut self) -> IonResult<Option<IonType>>
[src]
fn read_bool(&mut self) -> IonResult<Option<bool>>
[src]
fn read_i64(&mut self) -> IonResult<Option<i64>>
[src]
fn read_f32(&mut self) -> IonResult<Option<f32>>
[src]
fn read_f64(&mut self) -> IonResult<Option<f64>>
[src]
fn read_big_decimal(&mut self) -> IonResult<Option<BigDecimal>>
[src]
fn read_string(&mut self) -> IonResult<Option<String>>
[src]
fn string_ref_map<F, T>(&mut self, f: F) -> IonResult<Option<T>> where
F: FnOnce(&str) -> T,
[src]
F: FnOnce(&str) -> T,
fn string_bytes_map<F, T>(&mut self, f: F) -> IonResult<Option<T>> where
F: FnOnce(&[u8]) -> T,
[src]
F: FnOnce(&[u8]) -> T,
fn read_symbol_id(&mut self) -> IonResult<Option<SymbolId>>
[src]
fn read_blob_bytes(&mut self) -> IonResult<Option<Vec<u8>>>
[src]
fn blob_ref_map<F, T>(&mut self, f: F) -> IonResult<Option<T>> where
F: FnOnce(&[u8]) -> T,
[src]
F: FnOnce(&[u8]) -> T,
fn clob_ref_map<F, T>(&mut self, f: F) -> IonResult<Option<T>> where
F: FnOnce(&[u8]) -> T,
[src]
F: FnOnce(&[u8]) -> T,
fn read_clob_bytes(&mut self) -> IonResult<Option<Vec<u8>>>
[src]
fn read_datetime(&mut self) -> IonResult<Option<DateTime<FixedOffset>>>
[src]
fn step_in(&mut self) -> IonResult<()>
[src]
fn step_out(&mut self) -> IonResult<()>
[src]
fn depth(&self) -> usize
[src]
Auto Trait Implementations
impl<R> !RefUnwindSafe for BinaryIonCursor<R>
impl<R> !RefUnwindSafe for BinaryIonCursor<R>
impl<R> Send for BinaryIonCursor<R> where
R: Send,
impl<R> Send for BinaryIonCursor<R> where
R: Send,
impl<R> Sync for BinaryIonCursor<R> where
R: Sync,
impl<R> Sync for BinaryIonCursor<R> where
R: Sync,
impl<R> Unpin for BinaryIonCursor<R> where
R: Unpin,
impl<R> Unpin for BinaryIonCursor<R> where
R: Unpin,
impl<R> !UnwindSafe for BinaryIonCursor<R>
impl<R> !UnwindSafe for BinaryIonCursor<R>
Blanket Implementations
impl<T> FmtForward for T
impl<T> FmtForward for T
pub fn fmt_binary(self) -> FmtBinary<Self> where
Self: Binary,
Self: Binary,
pub fn fmt_display(self) -> FmtDisplay<Self> where
Self: Display,
Self: Display,
pub fn fmt_lower_exp(self) -> FmtLowerExp<Self> where
Self: LowerExp,
Self: LowerExp,
pub fn fmt_lower_hex(self) -> FmtLowerHex<Self> where
Self: LowerHex,
Self: LowerHex,
pub fn fmt_octal(self) -> FmtOctal<Self> where
Self: Octal,
Self: Octal,
pub fn fmt_pointer(self) -> FmtPointer<Self> where
Self: Pointer,
Self: Pointer,
pub fn fmt_upper_exp(self) -> FmtUpperExp<Self> where
Self: UpperExp,
Self: UpperExp,
pub fn fmt_upper_hex(self) -> FmtUpperHex<Self> where
Self: UpperHex,
Self: UpperHex,
impl<T> Pipe for T where
T: ?Sized,
impl<T> Pipe for T where
T: ?Sized,
pub fn pipe<R>(self, func: impl FnOnce(Self) -> R) -> R
pub fn pipe_ref<'a, R>(&'a self, func: impl FnOnce(&'a Self) -> R) -> R where
R: 'a,
R: 'a,
pub fn pipe_ref_mut<'a, R>(
&'a mut self,
func: impl FnOnce(&'a mut Self) -> R
) -> R where
R: 'a,
&'a mut self,
func: impl FnOnce(&'a mut Self) -> R
) -> R where
R: 'a,
pub fn pipe_borrow<'a, B, R>(&'a self, func: impl FnOnce(&'a B) -> R) -> R where
Self: Borrow<B>,
R: 'a,
B: 'a + ?Sized,
Self: Borrow<B>,
R: 'a,
B: 'a + ?Sized,
pub fn pipe_borrow_mut<'a, B, R>(
&'a mut self,
func: impl FnOnce(&'a mut B) -> R
) -> R where
Self: BorrowMut<B>,
R: 'a,
B: 'a + ?Sized,
&'a mut self,
func: impl FnOnce(&'a mut B) -> R
) -> R where
Self: BorrowMut<B>,
R: 'a,
B: 'a + ?Sized,
pub fn pipe_as_ref<'a, U, R>(&'a self, func: impl FnOnce(&'a U) -> R) -> R where
Self: AsRef<U>,
R: 'a,
U: 'a + ?Sized,
Self: AsRef<U>,
R: 'a,
U: 'a + ?Sized,
pub fn pipe_as_mut<'a, U, R>(
&'a mut self,
func: impl FnOnce(&'a mut U) -> R
) -> R where
Self: AsMut<U>,
R: 'a,
U: 'a + ?Sized,
&'a mut self,
func: impl FnOnce(&'a mut U) -> R
) -> R where
Self: AsMut<U>,
R: 'a,
U: 'a + ?Sized,
pub fn pipe_deref<'a, T, R>(&'a self, func: impl FnOnce(&'a T) -> R) -> R where
Self: Deref<Target = T>,
T: 'a + ?Sized,
R: 'a,
Self: Deref<Target = T>,
T: 'a + ?Sized,
R: 'a,
pub fn pipe_deref_mut<'a, T, R>(
&'a mut self,
func: impl FnOnce(&'a mut T) -> R
) -> R where
Self: DerefMut<Target = T> + Deref,
T: 'a + ?Sized,
R: 'a,
&'a mut self,
func: impl FnOnce(&'a mut T) -> R
) -> R where
Self: DerefMut<Target = T> + Deref,
T: 'a + ?Sized,
R: 'a,
impl<T> PipeAsRef for T
impl<T> PipeAsRef for T
pub fn pipe_as_ref<'a, T, R>(&'a self, func: impl FnOnce(&'a T) -> R) -> R where
Self: AsRef<T>,
T: 'a,
R: 'a,
Self: AsRef<T>,
T: 'a,
R: 'a,
pub fn pipe_as_mut<'a, T, R>(
&'a mut self,
func: impl FnOnce(&'a mut T) -> R
) -> R where
Self: AsMut<T>,
T: 'a,
R: 'a,
&'a mut self,
func: impl FnOnce(&'a mut T) -> R
) -> R where
Self: AsMut<T>,
T: 'a,
R: 'a,
impl<T> PipeBorrow for T
impl<T> PipeBorrow for T
pub fn pipe_borrow<'a, T, R>(&'a self, func: impl FnOnce(&'a T) -> R) -> R where
Self: Borrow<T>,
T: 'a,
R: 'a,
Self: Borrow<T>,
T: 'a,
R: 'a,
pub fn pipe_borrow_mut<'a, T, R>(
&'a mut self,
func: impl FnOnce(&'a mut T) -> R
) -> R where
Self: BorrowMut<T>,
T: 'a,
R: 'a,
&'a mut self,
func: impl FnOnce(&'a mut T) -> R
) -> R where
Self: BorrowMut<T>,
T: 'a,
R: 'a,
impl<T> PipeDeref for T
impl<T> PipeDeref for T
pub fn pipe_deref<'a, R>(
&'a self,
func: impl FnOnce(&'a Self::Target) -> R
) -> R where
Self: Deref,
R: 'a,
&'a self,
func: impl FnOnce(&'a Self::Target) -> R
) -> R where
Self: Deref,
R: 'a,
pub fn pipe_deref_mut<'a, R>(
&'a mut self,
func: impl FnOnce(&'a mut Self::Target) -> R
) -> R where
Self: DerefMut,
R: 'a,
&'a mut self,
func: impl FnOnce(&'a mut Self::Target) -> R
) -> R where
Self: DerefMut,
R: 'a,
impl<T> Tap for T
impl<T> Tap for T
pub fn tap(self, func: impl FnOnce(&Self)) -> Self
pub fn tap_mut(self, func: impl FnOnce(&mut Self)) -> Self
pub fn tap_borrow<B>(self, func: impl FnOnce(&B)) -> Self where
Self: Borrow<B>,
B: ?Sized,
Self: Borrow<B>,
B: ?Sized,
pub fn tap_borrow_mut<B>(self, func: impl FnOnce(&mut B)) -> Self where
Self: BorrowMut<B>,
B: ?Sized,
Self: BorrowMut<B>,
B: ?Sized,
pub fn tap_ref<R>(self, func: impl FnOnce(&R)) -> Self where
Self: AsRef<R>,
R: ?Sized,
Self: AsRef<R>,
R: ?Sized,
pub fn tap_ref_mut<R>(self, func: impl FnOnce(&mut R)) -> Self where
Self: AsMut<R>,
R: ?Sized,
Self: AsMut<R>,
R: ?Sized,
pub fn tap_deref<T>(self, func: impl FnOnce(&T)) -> Self where
Self: Deref<Target = T>,
T: ?Sized,
Self: Deref<Target = T>,
T: ?Sized,
pub fn tap_deref_mut<T>(self, func: impl FnOnce(&mut T)) -> Self where
Self: DerefMut<Target = T> + Deref,
T: ?Sized,
Self: DerefMut<Target = T> + Deref,
T: ?Sized,
pub fn tap_dbg(self, func: impl FnOnce(&Self)) -> Self
pub fn tap_mut_dbg(self, func: impl FnOnce(&mut Self)) -> Self
pub fn tap_borrow_dbg<B>(self, func: impl FnOnce(&B)) -> Self where
Self: Borrow<B>,
B: ?Sized,
Self: Borrow<B>,
B: ?Sized,
pub fn tap_borrow_mut_dbg<B>(self, func: impl FnOnce(&mut B)) -> Self where
Self: BorrowMut<B>,
B: ?Sized,
Self: BorrowMut<B>,
B: ?Sized,
pub fn tap_ref_dbg<R>(self, func: impl FnOnce(&R)) -> Self where
Self: AsRef<R>,
R: ?Sized,
Self: AsRef<R>,
R: ?Sized,
pub fn tap_ref_mut_dbg<R>(self, func: impl FnOnce(&mut R)) -> Self where
Self: AsMut<R>,
R: ?Sized,
Self: AsMut<R>,
R: ?Sized,
pub fn tap_deref_dbg<T>(self, func: impl FnOnce(&T)) -> Self where
Self: Deref<Target = T>,
T: ?Sized,
Self: Deref<Target = T>,
T: ?Sized,
pub fn tap_deref_mut_dbg<T>(self, func: impl FnOnce(&mut T)) -> Self where
Self: DerefMut<Target = T> + Deref,
T: ?Sized,
Self: DerefMut<Target = T> + Deref,
T: ?Sized,
impl<T, U> TapAsRef<U> for T where
U: ?Sized,
impl<T, U> TapAsRef<U> for T where
U: ?Sized,
pub fn tap_ref<F, R>(self, func: F) -> Self where
Self: AsRef<T>,
F: FnOnce(&T) -> R,
Self: AsRef<T>,
F: FnOnce(&T) -> R,
pub fn tap_ref_dbg<F, R>(self, func: F) -> Self where
Self: AsRef<T>,
F: FnOnce(&T) -> R,
Self: AsRef<T>,
F: FnOnce(&T) -> R,
pub fn tap_ref_mut<F, R>(self, func: F) -> Self where
Self: AsMut<T>,
F: FnOnce(&mut T) -> R,
Self: AsMut<T>,
F: FnOnce(&mut T) -> R,
pub fn tap_ref_mut_dbg<F, R>(self, func: F) -> Self where
Self: AsMut<T>,
F: FnOnce(&mut T) -> R,
Self: AsMut<T>,
F: FnOnce(&mut T) -> R,
impl<T, U> TapBorrow<U> for T where
U: ?Sized,
impl<T, U> TapBorrow<U> for T where
U: ?Sized,
pub fn tap_borrow<F, R>(self, func: F) -> Self where
Self: Borrow<T>,
F: FnOnce(&T) -> R,
Self: Borrow<T>,
F: FnOnce(&T) -> R,
pub fn tap_borrow_dbg<F, R>(self, func: F) -> Self where
Self: Borrow<T>,
F: FnOnce(&T) -> R,
Self: Borrow<T>,
F: FnOnce(&T) -> R,
pub fn tap_borrow_mut<F, R>(self, func: F) -> Self where
Self: BorrowMut<T>,
F: FnOnce(&mut T) -> R,
Self: BorrowMut<T>,
F: FnOnce(&mut T) -> R,
pub fn tap_borrow_mut_dbg<F, R>(self, func: F) -> Self where
Self: BorrowMut<T>,
F: FnOnce(&mut T) -> R,
Self: BorrowMut<T>,
F: FnOnce(&mut T) -> R,
impl<T> TapDeref for T
impl<T> TapDeref for T
pub fn tap_deref<F, R>(self, func: F) -> Self where
Self: Deref,
F: FnOnce(&Self::Target) -> R,
Self: Deref,
F: FnOnce(&Self::Target) -> R,
pub fn tap_deref_dbg<F, R>(self, func: F) -> Self where
Self: Deref,
F: FnOnce(&Self::Target) -> R,
Self: Deref,
F: FnOnce(&Self::Target) -> R,
pub fn tap_deref_mut<F, R>(self, func: F) -> Self where
Self: DerefMut,
F: FnOnce(&mut Self::Target) -> R,
Self: DerefMut,
F: FnOnce(&mut Self::Target) -> R,
pub fn tap_deref_mut_dbg<F, R>(self, func: F) -> Self where
Self: DerefMut,
F: FnOnce(&mut Self::Target) -> R,
Self: DerefMut,
F: FnOnce(&mut Self::Target) -> R,