Struct ion_rs::element::element_stream_writer::ElementStreamWriter
source · pub struct ElementStreamWriter<'e, E>where
E: Extend<Element>,{ /* private fields */ }
Expand description
An application-level Element writer. This writer creates Element
s, Extend::extend
ing
its output with each top-level value.
Implementations§
source§impl<'e, E> ElementStreamWriter<'e, E>where
E: Extend<Element>,
impl<'e, E> ElementStreamWriter<'e, E>where E: Extend<Element>,
pub fn new(output: &'e mut E) -> ElementStreamWriter<'e, E>
Trait Implementations§
source§impl<'e, E> IonWriter for ElementStreamWriter<'e, E>where
E: Extend<Element>,
impl<'e, E> IonWriter for ElementStreamWriter<'e, E>where E: Extend<Element>,
§type Output = &'e mut E
type Output = &'e mut E
The type to which the implementor writes its data. This may be a file, a buffer, etc.
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 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_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_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 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, ion_type: IonType) -> IonResult<()>
fn step_in(&mut self, ion_type: IonType) -> IonResult<()>
Starts a new Ion container with the specified type.
The only valid IonType values are: Read more
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 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<'e, E> RefUnwindSafe for ElementStreamWriter<'e, E>where E: RefUnwindSafe,
impl<'e, E> Send for ElementStreamWriter<'e, E>where E: Send,
impl<'e, E> Sync for ElementStreamWriter<'e, E>where E: Sync,
impl<'e, E> Unpin for ElementStreamWriter<'e, E>
impl<'e, E> !UnwindSafe for ElementStreamWriter<'e, E>
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.