Struct pgn_reader::RawHeader

source ·
pub struct RawHeader<'a>(pub &'a [u8]);
Expand description

A header value.

Provides helper methods for decoding backslash escaped values.

A quote inside a string is represented by the backslash immediately followed by a quote. A backslash inside a string is represented by two adjacent backslashes.

Tuple Fields§

§0: &'a [u8]

Implementations§

Returns the raw byte representation of the header value.

Decodes escaped quotes and backslashes into bytes. Allocates only when the value actually contains escape sequences.

Examples found in repository?
src/types.rs (line 185)
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
    pub fn decode_utf8(&self) -> Result<Cow<'a, str>, Utf8Error> {
        Ok(match self.decode() {
            Cow::Borrowed(borrowed) => Cow::Borrowed(str::from_utf8(borrowed)?),
            Cow::Owned(owned) => Cow::Owned(String::from_utf8(owned).map_err(|e| e.utf8_error())?),
        })
    }

    /// Decodes the header as UTF-8, replacing any invalid byte sequences with
    /// the placeholder � U+FFFD.
    pub fn decode_utf8_lossy(&self) -> Cow<'a, str> {
        match self.decode() {
            Cow::Borrowed(borrowed) => String::from_utf8_lossy(borrowed),
            Cow::Owned(owned) => Cow::Owned(String::from_utf8_lossy(&owned).into_owned()),
        }
    }

Tries to decode the header as UTF-8. This is guaranteed to succeed on valid PGNs.

Errors

Errors if the header contains an invalid UTF-8 byte sequence.

Decodes the header as UTF-8, replacing any invalid byte sequences with the placeholder � U+FFFD.

Examples found in repository?
src/types.rs (line 203)
202
203
204
    fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
        write!(f, "{:?}", self.decode_utf8_lossy())
    }

Trait Implementations§

Returns a copy of the value. Read more
Performs copy-assignment from source. Read more
Formats the value using the given formatter. Read more
This method tests for self and other values to be equal, and is used by ==.
This method tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.

Auto Trait Implementations§

Blanket Implementations§

Gets the TypeId of self. Read more
Immutably borrows from an owned value. Read more
Mutably borrows from an owned value. Read more

Returns the argument unchanged.

Calls U::from(self).

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

The resulting type after obtaining ownership.
Creates owned data from borrowed data, usually by cloning. Read more
Uses borrowed data to replace owned data, usually by cloning. Read more
The type returned in the event of a conversion error.
Performs the conversion.
The type returned in the event of a conversion error.
Performs the conversion.