pub struct CStringWriter(/* private fields */);
Expand description
§A helper that enables writing into CStrings
This type implements Write
and yields a CString
at the end,
which is useful for generating string data to be shared with the Falco
plugin framework.
The Write
implementation returns an error whenever the data to be written
contains a NUL byte.
Example:
use std::ffi::CString;
use falco_plugin::strings::CStringWriter;
use std::io::Write;
let mut writer = CStringWriter::default();
write!(writer, "Hello, world, five={}", 5)?;
let output: CString = writer.into_cstring();
Implementations§
Source§impl CStringWriter
impl CStringWriter
Sourcepub fn into_cstring(self) -> CString
pub fn into_cstring(self) -> CString
Trait Implementations§
Source§impl Debug for CStringWriter
impl Debug for CStringWriter
Source§impl Default for CStringWriter
impl Default for CStringWriter
Source§impl Write for CStringWriter
impl Write for CStringWriter
Source§fn write(&mut self, buf: &[u8]) -> Result<usize>
fn write(&mut self, buf: &[u8]) -> Result<usize>
Writes a buffer into this writer, returning how many bytes were written. Read more
Source§fn flush(&mut self) -> Result<()>
fn flush(&mut self) -> Result<()>
Flushes this output stream, ensuring that all intermediately buffered
contents reach their destination. Read more
Source§fn is_write_vectored(&self) -> bool
fn is_write_vectored(&self) -> bool
🔬This is a nightly-only experimental API. (
can_vector
)1.0.0 · Source§fn write_all(&mut self, buf: &[u8]) -> Result<(), Error>
fn write_all(&mut self, buf: &[u8]) -> Result<(), Error>
Attempts to write an entire buffer into this writer. Read more
Source§fn write_all_vectored(&mut self, bufs: &mut [IoSlice<'_>]) -> Result<(), Error>
fn write_all_vectored(&mut self, bufs: &mut [IoSlice<'_>]) -> Result<(), Error>
🔬This is a nightly-only experimental API. (
write_all_vectored
)Attempts to write multiple buffers into this writer. Read more
Auto Trait Implementations§
impl Freeze for CStringWriter
impl RefUnwindSafe for CStringWriter
impl Send for CStringWriter
impl Sync for CStringWriter
impl Unpin for CStringWriter
impl UnwindSafe for CStringWriter
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more