Struct argdata::StrValue[][src]

pub struct StrValue<'d> { /* fields omitted */ }

Represents a string value.

The string might or might not be zero terminated, and might or might not be valid UTF-8. The accessor functions will check these properties if needed.

Methods

impl<'d> StrValue<'d>
[src]

Create a StrValue referring to raw bytes, which do not include a nul-terminator.

Create a StrValue referring to raw bytes, which include a nul-terminator.

Panics if the last byte is not a nul-terminator.

Create a StrValue referring to a non-zero terminated UTF-8 str.

Create a StrValue referring to a zero-terminated C string.

Get the raw bytes of the string, without zero terminmator.

Always works, regardless of what type of string the value refers to.

Get the value as &str.

Unless the StrValue refers to a &str, it is checked for valid UTF-8.

Get the value as (nul-terminated) C string.

This only works when the StrValue:

  • refers to a &Cstr,
  • refers to raw bytes including a nul terminator, but not containing any other nul bytes (this is checked), or
  • refers to an empty string.

Otherwise, it fails.

Note that this should always work for values resulting from properly encoded argdata, as long as the value doesn't contain any embedded nul bytes.

Trait Implementations

impl<'d> Clone for StrValue<'d>
[src]

Returns a copy of the value. Read more

Performs copy-assignment from source. Read more

impl<'d> Copy for StrValue<'d>
[src]

Auto Trait Implementations

impl<'d> Send for StrValue<'d>

impl<'d> Sync for StrValue<'d>