Struct void::coreprovider::fmt::Arguments 1.0.0[−][src]
pub struct Arguments<'a> { pieces: &'a [&'a str], fmt: Option<&'a [Argument]>, args: &'a [ArgumentV1<'a>], }
This structure represents a safely precompiled version of a format string and its arguments. This cannot be generated at runtime because it cannot safely be done, so no constructors are given and the fields are private to prevent modification.
The format_args!
macro will safely create an instance of this structure.
The macro validates the format string at compile-time so usage of the
write
and format
functions can be safely performed.
You can use the Arguments<'a>
that format_args!
returns in Debug
and Display
contexts as seen below. The example also shows that Debug
and Display
format to the same thing: the interpolated format string
in format_args!
.
let debug = format!("{:?}", format_args!("{} foo {:?}", 1, 2)); let display = format!("{}", format_args!("{} foo {:?}", 1, 2)); assert_eq!("1 foo 2", display); assert_eq!(display, debug);
Fields
pieces: &'a [&'a str]
fmt: Option<&'a [Argument]>
args: &'a [ArgumentV1<'a>]
Methods
impl<'a> Arguments<'a>
[src]
impl<'a> Arguments<'a>
pub fn new_v1(
pieces: &'a [&'a str],
args: &'a [ArgumentV1<'a>]
) -> Arguments<'a>
[src]
pub fn new_v1(
pieces: &'a [&'a str],
args: &'a [ArgumentV1<'a>]
) -> Arguments<'a>
🔬 This is a nightly-only experimental API. (fmt_internals
)
internal to format_args!
When using the format_args!() macro, this function is used to generate the Arguments structure.
pub fn new_v1_formatted(
pieces: &'a [&'a str],
args: &'a [ArgumentV1<'a>],
fmt: &'a [Argument]
) -> Arguments<'a>
[src]
pub fn new_v1_formatted(
pieces: &'a [&'a str],
args: &'a [ArgumentV1<'a>],
fmt: &'a [Argument]
) -> Arguments<'a>
🔬 This is a nightly-only experimental API. (fmt_internals
)
internal to format_args!
This function is used to specify nonstandard formatting parameters.
The pieces
array must be at least as long as fmt
to construct
a valid Arguments structure. Also, any Count
within fmt
that is
CountIsParam
or CountIsNextParam
has to point to an argument
created with argumentusize
. However, failing to do so doesn't cause
unsafety, but will ignore invalid .
pub fn estimated_capacity(&self) -> usize
[src]
pub fn estimated_capacity(&self) -> usize
🔬 This is a nightly-only experimental API. (fmt_internals
)
internal to format_args!
Estimates the length of the formatted text.
This is intended to be used for setting initial String
capacity
when using format!
. Note: this is neither the lower nor upper bound.
Trait Implementations
impl<'a> Clone for Arguments<'a>
[src]
impl<'a> Clone for Arguments<'a>
fn clone(&self) -> Arguments<'a>
[src]
fn clone(&self) -> Arguments<'a>
Returns a copy of the value. Read more
fn clone_from(&mut self, source: &Self)
[src]
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from source
. Read more
impl<'a> Debug for Arguments<'a>
[src]
impl<'a> Debug for Arguments<'a>
fn fmt(&self, fmt: &mut Formatter) -> Result<(), Error>
[src]
fn fmt(&self, fmt: &mut Formatter) -> Result<(), Error>
Formats the value using the given formatter. Read more
impl<'a> Copy for Arguments<'a>
[src]
impl<'a> Copy for Arguments<'a>
impl<'a> Display for Arguments<'a>
[src]
impl<'a> Display for Arguments<'a>