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>

§

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

Returns true if this RawWriter supports writing field names, annotations, and symbol values directly as text; otherwise, returns false. Read more
source§

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<()>

Writes an Ion symbol with the specified value to the output stream.
source§

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)

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<()>

Writes an Ion version marker to the output stream.
source§

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<()>

Writes an Ion boolean with the specified value to the output stream.
source§

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<()>

Writes an Ion integer with the specified value to the output stream.
source§

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<()>

Writes an Ion float with the specified value to the output stream.
source§

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<()>

Writes an Ion timestamp with the specified value to the output stream.
source§

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<()>

Writes an Ion clob with the specified value to the output stream.
source§

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<()>

Starts a new Ion container with the specified type. The only valid IonType values are: Read more
source§

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

Returns the number of containers that the writer has stepped into without subsequently stepping out.
source§

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<()>

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(&self) -> &Self::Output

Returns a reference to the writer’s output. Read more
source§

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> Any for Twhere T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for Twhere T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for Twhere T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<W> ElementWriter for Wwhere W: IonWriter,

source§

fn write_element(&mut self, element: &Element) -> Result<(), IonError>

Serializes a single Element as a top-level value.
source§

fn write_elements<'a, I: IntoIterator<Item = &'a Element>>( &'a mut self, elements: I ) -> IonResult<()>

Serializes a collection of Element as a series of top-level values. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T, U> Into<U> for Twhere U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T, U> TryFrom<U> for Twhere U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

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

Performs the conversion.
source§

impl<T, U> TryInto<U> for Twhere U: TryFrom<T>,

§

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

The type returned in the event of a conversion error.
source§

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

Performs the conversion.