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]

Additional functionality that’s only available if the data source is in-memory, such as a Vec or &u8).

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]

pub fn new(data_source: R) -> Self[src]

pub fn is_null(&self) -> bool[src]

Trait Implementations

impl<R: IonDataSource> Cursor for BinaryIonCursor<R>[src]

type DataSource = R

fn ion_version(&self) -> (u8, u8)[src]

Returns the (major, minor) version of the Ion stream being read. If ion_version is called before an Ion Version Marker has been read, the version (1, 0) will be returned. Read more

fn next(&mut self) -> IonResult<Option<StreamItem>>[src]

Attempts to advance the cursor to the next value in the stream at the current depth. If no value is encountered, returns None; otherwise, returns the Ion type of the next value. Read more

fn ion_type(&self) -> Option<IonType>[src]

Returns the Ion type of the value currently positioned under the cursor. If the cursor is not positioned over a value, returns None. Read more

fn is_null(&self) -> bool[src]

Returns true if the current value is a null of any type; otherwise, returns false.

fn annotation_ids(&self) -> &[SymbolId][src]

Returns a slice containing all of the annotation symbol IDs for the current value. If there is no current value, returns an empty slice. Read more

fn field_id(&self) -> Option<SymbolId>[src]

If the current value is a field within a struct, returns the symbol ID of that field’s name; otherwise, returns None. Read more

fn read_null(&mut self) -> IonResult<Option<IonType>>[src]

If the current value is a null, returns the Ion type of the null; otherwise, returns None. Read more

fn read_bool(&mut self) -> IonResult<Option<bool>>[src]

If the current value is a boolean, returns its value as a bool; otherwise, returns None.

fn read_i64(&mut self) -> IonResult<Option<i64>>[src]

If the current value is an integer, returns its value as an i64; otherwise, returns None.

fn read_f32(&mut self) -> IonResult<Option<f32>>[src]

If the current value is a float, returns its value as an f32; otherwise, returns None.

fn read_f64(&mut self) -> IonResult<Option<f64>>[src]

If the current value is a float, returns its value as an f64; otherwise, returns None.

fn read_big_decimal(&mut self) -> IonResult<Option<BigDecimal>>[src]

If the current value is a decimal, returns its value as an BigDecimal; otherwise, returns None. Read more

fn read_string(&mut self) -> IonResult<Option<String>>[src]

If the current value is a string, returns its value as a String; otherwise, returns None.

fn string_ref_map<F, T>(&mut self, f: F) -> IonResult<Option<T>> where
    F: FnOnce(&str) -> T, 
[src]

Runs the provided closure, passing in a reference to the string to be read and allowing a calculated value of any type to be returned. When possible, string_ref_map will pass a reference directly to the bytes in the input buffer rather than allocating a new string. Read more

fn string_bytes_map<F, T>(&mut self, f: F) -> IonResult<Option<T>> where
    F: FnOnce(&[u8]) -> T, 
[src]

Runs the provided closure, passing in a reference to the unparsed, unvalidated bytes of the string to be read and allowing a calculated value of any type to be returned. When possible, string_bytes_map will pass a reference directly to the bytes in the input buffer rather than copying the data. Read more

fn read_symbol_id(&mut self) -> IonResult<Option<SymbolId>>[src]

If the current value is a symbol, returns its value as a SymbolId; otherwise, returns None.

fn read_blob_bytes(&mut self) -> IonResult<Option<Vec<u8>>>[src]

If the current value is a blob, returns its value as a Vec; otherwise, returns None.

fn blob_ref_map<F, T>(&mut self, f: F) -> IonResult<Option<T>> where
    F: FnOnce(&[u8]) -> T, 
[src]

Runs the provided closure, passing in a reference to the blob to be read and allowing a calculated value of any type to be returned. When possible, blob_ref_map will pass a reference directly to the bytes in the input buffer rather than allocating a new array. Read more

fn clob_ref_map<F, T>(&mut self, f: F) -> IonResult<Option<T>> where
    F: FnOnce(&[u8]) -> T, 
[src]

Runs the provided closure, passing in a reference to the clob to be read and allowing a calculated value of any type to be returned. When possible, clob_ref_map will pass a reference directly to the bytes in the input buffer rather than allocating a new array. Read more

fn read_clob_bytes(&mut self) -> IonResult<Option<Vec<u8>>>[src]

If the current value is a clob, returns its value as a Vec; otherwise, returns None.

fn read_datetime(&mut self) -> IonResult<Option<DateTime<FixedOffset>>>[src]

If the current value is a timestamp, returns its value as a DateTime; otherwise, returns None. Read more

fn step_in(&mut self) -> IonResult<()>[src]

If the current value is a container (i.e. a struct, list, or s-expression), positions the cursor at the beginning of that container’s sequence of child values. If the current value is not a container, returns Err. Read more

fn step_out(&mut self) -> IonResult<()>[src]

Positions the cursor at the end of the container currently being traversed. Calling next() will position the cursor over the value that follows the container. If the cursor is not in a container (i.e. it is already at the top level), returns Err. Read more

fn depth(&self) -> usize[src]

Auto Trait Implementations

impl<R> !RefUnwindSafe for BinaryIonCursor<R>

impl<R> Send for BinaryIonCursor<R> where
    R: Send

impl<R> Sync for BinaryIonCursor<R> where
    R: Sync

impl<R> Unpin for BinaryIonCursor<R> where
    R: Unpin

impl<R> !UnwindSafe for BinaryIonCursor<R>

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

pub fn type_id(&self) -> TypeId[src]

Gets the TypeId of self. Read more

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

pub fn borrow(&self) -> &T[src]

Immutably borrows from an owned value. Read more

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

pub fn borrow_mut(&mut self) -> &mut T[src]

Mutably borrows from an owned value. Read more

impl<T> Conv for T

fn conv<T>(self) -> T where
    Self: Into<T>, 

Converts self into T using Into<T>. Read more

impl<T> Conv for T

fn conv<T>(self) -> T where
    Self: Into<T>, 

Converts self into a target type. Read more

impl<T> FmtForward for T

fn fmt_binary(self) -> FmtBinary<Self> where
    Self: Binary

Causes self to use its Binary implementation when Debug-formatted.

fn fmt_display(self) -> FmtDisplay<Self> where
    Self: Display

Causes self to use its Display implementation when Debug-formatted. Read more

fn fmt_lower_exp(self) -> FmtLowerExp<Self> where
    Self: LowerExp

Causes self to use its LowerExp implementation when Debug-formatted. Read more

fn fmt_lower_hex(self) -> FmtLowerHex<Self> where
    Self: LowerHex

Causes self to use its LowerHex implementation when Debug-formatted. Read more

fn fmt_octal(self) -> FmtOctal<Self> where
    Self: Octal

Causes self to use its Octal implementation when Debug-formatted.

fn fmt_pointer(self) -> FmtPointer<Self> where
    Self: Pointer

Causes self to use its Pointer implementation when Debug-formatted. Read more

fn fmt_upper_exp(self) -> FmtUpperExp<Self> where
    Self: UpperExp

Causes self to use its UpperExp implementation when Debug-formatted. Read more

fn fmt_upper_hex(self) -> FmtUpperHex<Self> where
    Self: UpperHex

Causes self to use its UpperHex implementation when Debug-formatted. Read more

impl<T> From<T> for T[src]

pub fn from(t: T) -> T[src]

Performs the conversion.

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

pub fn into(self) -> U[src]

Performs the conversion.

impl<T> Pipe for T where
    T: ?Sized

fn pipe<R>(self, func: impl FnOnce(Self) -> R) -> R

Pipes by value. This is generally the method you want to use. Read more

fn pipe_ref<'a, R>(&'a self, func: impl FnOnce(&'a Self) -> R) -> R where
    R: 'a, 

Borrows self and passes that borrow into the pipe function. Read more

fn pipe_ref_mut<'a, R>(&'a mut self, func: impl FnOnce(&'a mut Self) -> R) -> R where
    R: 'a, 

Mutably borrows self and passes that borrow into the pipe function. Read more

fn pipe_borrow<'a, B, R>(&'a self, func: impl FnOnce(&'a B) -> R) -> R where
    Self: Borrow<B>,
    R: 'a,
    B: 'a + ?Sized

Borrows self, then passes self.borrow() into the pipe function. Read more

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

Mutably borrows self, then passes self.borrow_mut() into the pipe function. Read more

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

Borrows self, then passes self.as_ref() into the pipe function.

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

Mutably borrows self, then passes self.as_mut() into the pipe function. Read more

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, 

Borrows self, then passes self.deref() into the pipe function.

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, 

Mutably borrows self, then passes self.deref_mut() into the pipe function. Read more

impl<T> Pipe for T

fn pipe<R>(self, func: impl FnOnce(Self) -> R) -> R

Pipes a value into a function that cannot ordinarily be called in suffix position. Read more

impl<T> PipeAsRef for T

fn pipe_as_ref<'a, T, R>(&'a self, func: impl FnOnce(&'a T) -> R) -> R where
    Self: AsRef<T>,
    T: 'a,
    R: 'a, 

Pipes a trait borrow into a function that cannot normally be called in suffix position. Read more

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, 

Pipes a trait mutable borrow into a function that cannot normally be called in suffix position. Read more

impl<T> PipeBorrow for T

fn pipe_borrow<'a, T, R>(&'a self, func: impl FnOnce(&'a T) -> R) -> R where
    Self: Borrow<T>,
    T: 'a,
    R: 'a, 

Pipes a trait borrow into a function that cannot normally be called in suffix position. Read more

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, 

Pipes a trait mutable borrow into a function that cannot normally be called in suffix position. Read more

impl<T> PipeDeref for T

fn pipe_deref<'a, R>(&'a self, func: impl FnOnce(&'a Self::Target) -> R) -> R where
    Self: Deref,
    R: 'a, 

Pipes a dereference into a function that cannot normally be called in suffix position. Read more

fn pipe_deref_mut<'a, R>(
    &'a mut self,
    func: impl FnOnce(&'a mut Self::Target) -> R
) -> R where
    Self: DerefMut,
    R: 'a, 

Pipes a mutable dereference into a function that cannot normally be called in suffix position. Read more

impl<T> PipeRef for T

fn pipe_ref<'a, R>(&'a self, func: impl FnOnce(&'a Self) -> R) -> R where
    R: 'a, 

Pipes a reference into a function that cannot ordinarily be called in suffix position. Read more

fn pipe_mut<'a, R>(&'a mut self, func: impl FnOnce(&'a mut Self) -> R) -> R where
    R: 'a, 

Pipes a mutable reference into a function that cannot ordinarily be called in suffix position. Read more

impl<T> Tap for T

fn tap(self, func: impl FnOnce(&Self)) -> Self

Immutable access to a value. Read more

fn tap_mut(self, func: impl FnOnce(&mut Self)) -> Self

Mutable access to a value. Read more

fn tap_borrow<B>(self, func: impl FnOnce(&B)) -> Self where
    Self: Borrow<B>,
    B: ?Sized

Immutable access to the Borrow<B> of a value. Read more

fn tap_borrow_mut<B>(self, func: impl FnOnce(&mut B)) -> Self where
    Self: BorrowMut<B>,
    B: ?Sized

Mutable access to the BorrowMut<B> of a value. Read more

fn tap_ref<R>(self, func: impl FnOnce(&R)) -> Self where
    Self: AsRef<R>,
    R: ?Sized

Immutable access to the AsRef<R> view of a value. Read more

fn tap_ref_mut<R>(self, func: impl FnOnce(&mut R)) -> Self where
    Self: AsMut<R>,
    R: ?Sized

Mutable access to the AsMut<R> view of a value. Read more

fn tap_deref<T>(self, func: impl FnOnce(&T)) -> Self where
    Self: Deref<Target = T>,
    T: ?Sized

Immutable access to the Deref::Target of a value. Read more

fn tap_deref_mut<T>(self, func: impl FnOnce(&mut T)) -> Self where
    Self: DerefMut<Target = T> + Deref,
    T: ?Sized

Mutable access to the Deref::Target of a value. Read more

fn tap_dbg(self, func: impl FnOnce(&Self)) -> Self

Calls .tap() only in debug builds, and is erased in release builds.

fn tap_mut_dbg(self, func: impl FnOnce(&mut Self)) -> Self

Calls .tap_mut() only in debug builds, and is erased in release builds. Read more

fn tap_borrow_dbg<B>(self, func: impl FnOnce(&B)) -> Self where
    Self: Borrow<B>,
    B: ?Sized

Calls .tap_borrow() only in debug builds, and is erased in release builds. Read more

fn tap_borrow_mut_dbg<B>(self, func: impl FnOnce(&mut B)) -> Self where
    Self: BorrowMut<B>,
    B: ?Sized

Calls .tap_borrow_mut() only in debug builds, and is erased in release builds. Read more

fn tap_ref_dbg<R>(self, func: impl FnOnce(&R)) -> Self where
    Self: AsRef<R>,
    R: ?Sized

Calls .tap_ref() only in debug builds, and is erased in release builds. Read more

fn tap_ref_mut_dbg<R>(self, func: impl FnOnce(&mut R)) -> Self where
    Self: AsMut<R>,
    R: ?Sized

Calls .tap_ref_mut() only in debug builds, and is erased in release builds. Read more

fn tap_deref_dbg<T>(self, func: impl FnOnce(&T)) -> Self where
    Self: Deref<Target = T>,
    T: ?Sized

Calls .tap_deref() only in debug builds, and is erased in release builds. Read more

fn tap_deref_mut_dbg<T>(self, func: impl FnOnce(&mut T)) -> Self where
    Self: DerefMut<Target = T> + Deref,
    T: ?Sized

Calls .tap_deref_mut() only in debug builds, and is erased in release builds. Read more

impl<T> Tap for T

fn tap<F, R>(self, func: F) -> Self where
    F: FnOnce(&Self) -> R, 

Provides immutable access for inspection. Read more

fn tap_dbg<F, R>(self, func: F) -> Self where
    F: FnOnce(&Self) -> R, 

Calls tap in debug builds, and does nothing in release builds.

fn tap_mut<F, R>(self, func: F) -> Self where
    F: FnOnce(&mut Self) -> R, 

Provides mutable access for modification. Read more

fn tap_mut_dbg<F, R>(self, func: F) -> Self where
    F: FnOnce(&mut Self) -> R, 

Calls tap_mut in debug builds, and does nothing in release builds.

impl<T, U> TapAsRef<U> for T where
    U: ?Sized

fn tap_ref<F, R>(self, func: F) -> Self where
    Self: AsRef<T>,
    F: FnOnce(&T) -> R, 

Provides immutable access to the reference for inspection.

fn tap_ref_dbg<F, R>(self, func: F) -> Self where
    Self: AsRef<T>,
    F: FnOnce(&T) -> R, 

Calls tap_ref in debug builds, and does nothing in release builds.

fn tap_ref_mut<F, R>(self, func: F) -> Self where
    Self: AsMut<T>,
    F: FnOnce(&mut T) -> R, 

Provides mutable access to the reference for modification.

fn tap_ref_mut_dbg<F, R>(self, func: F) -> Self where
    Self: AsMut<T>,
    F: FnOnce(&mut T) -> R, 

Calls tap_ref_mut in debug builds, and does nothing in release builds.

impl<T, U> TapBorrow<U> for T where
    U: ?Sized

fn tap_borrow<F, R>(self, func: F) -> Self where
    Self: Borrow<T>,
    F: FnOnce(&T) -> R, 

Provides immutable access to the borrow for inspection. Read more

fn tap_borrow_dbg<F, R>(self, func: F) -> Self where
    Self: Borrow<T>,
    F: FnOnce(&T) -> R, 

Calls tap_borrow in debug builds, and does nothing in release builds.

fn tap_borrow_mut<F, R>(self, func: F) -> Self where
    Self: BorrowMut<T>,
    F: FnOnce(&mut T) -> R, 

Provides mutable access to the borrow for modification.

fn tap_borrow_mut_dbg<F, R>(self, func: F) -> Self where
    Self: BorrowMut<T>,
    F: FnOnce(&mut T) -> R, 

Calls tap_borrow_mut in debug builds, and does nothing in release builds. Read more

impl<T> TapDeref for T

fn tap_deref<F, R>(self, func: F) -> Self where
    Self: Deref,
    F: FnOnce(&Self::Target) -> R, 

Immutably dereferences self for inspection.

fn tap_deref_dbg<F, R>(self, func: F) -> Self where
    Self: Deref,
    F: FnOnce(&Self::Target) -> R, 

Calls tap_deref in debug builds, and does nothing in release builds.

fn tap_deref_mut<F, R>(self, func: F) -> Self where
    Self: DerefMut,
    F: FnOnce(&mut Self::Target) -> R, 

Mutably dereferences self for modification.

fn tap_deref_mut_dbg<F, R>(self, func: F) -> Self where
    Self: DerefMut,
    F: FnOnce(&mut Self::Target) -> R, 

Calls tap_deref_mut in debug builds, and does nothing in release builds. Read more

impl<T> TryConv for T

fn try_conv<T>(self) -> Result<T, Self::Error> where
    Self: TryInto<T>, 

Attempts to convert self into T using TryInto<T>. Read more

impl<T> TryConv for T

fn try_conv<T>(self) -> Result<T, Self::Error> where
    Self: TryInto<T>, 

Attempts to convert self into a target type. Read more

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

pub fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>[src]

Performs the conversion.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.

pub fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>[src]

Performs the conversion.