Skip to main content

CsvField

Trait CsvField 

Source
pub trait CsvField: Sized {
    // Required methods
    fn encode_field(&self) -> String;
    fn decode_field(input: &str) -> Result<Self, CsvDecodeError>;
}
Expand description

A scalar value that maps to and from a single CSV field.

Encoding never fails — every supported value has a text form. Decoding is strict: the field text must parse exactly into the target type.

Implemented for the integer types, bool ("true"/"false"), String, and Option<T> (an empty field decodes to None).

Required Methods§

Source

fn encode_field(&self) -> String

Encodes self into a field value.

Source

fn decode_field(input: &str) -> Result<Self, CsvDecodeError>

Decodes a field value into Self, or returns a CsvDecodeError.

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementations on Foreign Types§

Source§

impl CsvField for String

Source§

impl CsvField for bool

Source§

impl CsvField for i8

Source§

impl CsvField for i16

Source§

impl CsvField for i32

Source§

impl CsvField for i64

Source§

impl CsvField for i128

Source§

impl CsvField for isize

Source§

impl CsvField for u8

Source§

impl CsvField for u16

Source§

impl CsvField for u32

Source§

impl CsvField for u64

Source§

impl CsvField for u128

Source§

impl CsvField for usize

Source§

impl<T: CsvField> CsvField for Option<T>

Implementors§