Struct ion_rs::binary::binary_writer::BinaryWriter
source · pub struct BinaryWriter<W: Write> { /* private fields */ }
Expand description
An application-level binary Ion writer. This writer manages a symbol table and so can convert symbol IDs to their corresponding text.
Trait Implementations§
source§impl<W: Write> IonWriter for BinaryWriter<W>
impl<W: Write> IonWriter for BinaryWriter<W>
§type Output = W
type Output = W
The type to which the implementor writes its data. This may be a file, a buffer, etc.
source§fn supports_text_symbol_tokens(&self) -> bool
fn supports_text_symbol_tokens(&self) -> bool
Returns
true
if this RawWriter supports writing field names, annotations, and
symbol values directly as text; otherwise, returns false
. Read moresource§fn set_annotations<I, A>(&mut self, annotations: I)where
A: AsRawSymbolTokenRef,
I: IntoIterator<Item = A>,
fn set_annotations<I, A>(&mut self, annotations: I)where A: AsRawSymbolTokenRef, I: IntoIterator<Item = A>,
Sets a list of annotations that will be applied to the next value that is written.
source§fn write_symbol<A: AsRawSymbolTokenRef>(&mut self, value: A) -> IonResult<()>
fn write_symbol<A: AsRawSymbolTokenRef>(&mut self, value: A) -> IonResult<()>
Writes an Ion
symbol
with the specified value to the output stream.source§fn set_field_name<A: AsRawSymbolTokenRef>(&mut self, name: A)
fn set_field_name<A: AsRawSymbolTokenRef>(&mut self, name: A)
Sets the current field name to
name
. If the TextWriter is currently positioned inside
of a struct, the field name will be written before the next value. Otherwise, it will be
ignored.source§fn flush(&mut self) -> IonResult<()>
fn flush(&mut self) -> IonResult<()>
Causes any buffered data to be written to the underlying io::Write implementation.
This method can only be called when the writer is at the top level.
source§fn ion_version(&self) -> (u8, u8)
fn ion_version(&self) -> (u8, u8)
Returns the (major, minor) version of the Ion stream being written. If ion_version is called
before an Ion Version Marker has been emitted, the version (1, 0) will be returned.
source§fn write_ion_version_marker(&mut self, major: u8, minor: u8) -> IonResult<()>
fn write_ion_version_marker(&mut self, major: u8, minor: u8) -> IonResult<()>
Writes an Ion version marker to the output stream.
source§fn write_null(&mut self, ion_type: IonType) -> IonResult<()>
fn write_null(&mut self, ion_type: IonType) -> IonResult<()>
Writes an Ion
null
with the specified type to the output stream.
To write an untyped null
(which is equivalent to null.null
), pass IonType::Null.source§fn write_bool(&mut self, value: bool) -> IonResult<()>
fn write_bool(&mut self, value: bool) -> IonResult<()>
Writes an Ion
boolean
with the specified value to the output stream.source§fn write_i64(&mut self, value: i64) -> IonResult<()>
fn write_i64(&mut self, value: i64) -> IonResult<()>
Writes an Ion
integer
with the specified value to the output stream.source§fn write_int(&mut self, value: &Int) -> IonResult<()>
fn write_int(&mut self, value: &Int) -> IonResult<()>
Writes an Ion
integer
with the specified value to the output stream.source§fn write_f32(&mut self, value: f32) -> IonResult<()>
fn write_f32(&mut self, value: f32) -> IonResult<()>
Writes an Ion
float
with the specified value to the output stream.source§fn write_f64(&mut self, value: f64) -> IonResult<()>
fn write_f64(&mut self, value: f64) -> IonResult<()>
Writes an Ion
float
with the specified value to the output stream.source§fn write_decimal(&mut self, value: &Decimal) -> IonResult<()>
fn write_decimal(&mut self, value: &Decimal) -> IonResult<()>
Writes an Ion
decimal
with the specified value to the output stream.source§fn write_timestamp(&mut self, value: &Timestamp) -> IonResult<()>
fn write_timestamp(&mut self, value: &Timestamp) -> IonResult<()>
Writes an Ion
timestamp
with the specified value to the output stream.source§fn write_string<A: AsRef<str>>(&mut self, value: A) -> IonResult<()>
fn write_string<A: AsRef<str>>(&mut self, value: A) -> IonResult<()>
Writes an Ion
string
with the specified value to the output stream.source§fn write_clob<A: AsRef<[u8]>>(&mut self, value: A) -> IonResult<()>
fn write_clob<A: AsRef<[u8]>>(&mut self, value: A) -> IonResult<()>
Writes an Ion
clob
with the specified value to the output stream.source§fn write_blob<A: AsRef<[u8]>>(&mut self, value: A) -> IonResult<()>
fn write_blob<A: AsRef<[u8]>>(&mut self, value: A) -> IonResult<()>
Writes an Ion
blob
with the specified value to the output stream.source§fn step_in(&mut self, container_type: IonType) -> IonResult<()>
fn step_in(&mut self, container_type: IonType) -> IonResult<()>
Starts a new Ion container with the specified type.
The only valid IonType values are: Read more
source§fn parent_type(&self) -> Option<IonType>
fn parent_type(&self) -> Option<IonType>
If the writer is positioned at the top level, returns
None
. Otherwise, returns
Some(_)
with the parent container’s IonType.source§fn depth(&self) -> usize
fn depth(&self) -> usize
Returns the number of containers that the writer has stepped into without subsequently
stepping out.
source§fn step_out(&mut self) -> IonResult<()>
fn step_out(&mut self) -> IonResult<()>
Ends the current container. If the writer is not currently positioned within a container,
calling this method will result in an
Err
.source§fn output_mut(&mut self) -> &mut Self::Output
fn output_mut(&mut self) -> &mut Self::Output
Returns a mutable reference to the writer’s output. Read more
Auto Trait Implementations§
impl<W> RefUnwindSafe for BinaryWriter<W>where W: RefUnwindSafe,
impl<W> Send for BinaryWriter<W>where W: Send,
impl<W> Sync for BinaryWriter<W>where W: Sync,
impl<W> Unpin for BinaryWriter<W>where W: Unpin,
impl<W> UnwindSafe for BinaryWriter<W>where W: UnwindSafe,
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
source§impl<W> ElementWriter for Wwhere
W: IonWriter,
impl<W> ElementWriter for Wwhere W: IonWriter,
source§fn write_element(&mut self, element: &Element) -> Result<(), IonError>
fn write_element(&mut self, element: &Element) -> Result<(), IonError>
Serializes a single
Element
as a top-level value.