Struct ion_rs::TextWriter
source · pub struct TextWriter<W: Write> { /* private fields */ }
Expand description
An application-level text Ion writer. This writer manages a symbol table and so can convert symbol IDs to their corresponding text. However, unlike the BinaryWriter, it is capable of writing text to the output stream without first adding it to the symbol table.
Trait Implementations§
source§impl<W: Write> IonWriter for TextWriter<W>
impl<W: Write> IonWriter for TextWriter<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 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 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 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 TextWriter<W>where W: RefUnwindSafe,
impl<W> Send for TextWriter<W>where W: Send,
impl<W> Sync for TextWriter<W>where W: Sync,
impl<W> Unpin for TextWriter<W>where W: Unpin,
impl<W> UnwindSafe for TextWriter<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.