Struct ar::GnuBuilder

source ·
pub struct GnuBuilder<W: Write> { /* private fields */ }
Expand description

A structure for building GNU-variant archives (the archive format typically used on e.g. GNU/Linux and Windows systems).

This structure has methods for building up an archive from scratch into any arbitrary writer.

Implementations§

source§

impl<W: Write> GnuBuilder<W>

source

pub fn new(writer: W, identifiers: Vec<Vec<u8>>) -> GnuBuilder<W>

Create a new archive builder with the underlying writer object as the destination of all data written. The identifiers parameter must give the complete list of entry identifiers that will be included in this archive.

source

pub fn into_inner(self) -> Result<W>

Unwrap this archive builder, returning the underlying writer object.

source

pub fn append<R: Read>(&mut self, header: &Header, data: R) -> Result<()>

Adds a new entry to this archive.

source

pub fn append_path<P: AsRef<Path>>(&mut self, path: P) -> Result<()>

Adds a file on the local filesystem to this archive, using the file name as its identifier.

source

pub fn append_file(&mut self, name: &[u8], file: &mut File) -> Result<()>

Adds a file to this archive, with the given name as its identifier.

Auto Trait Implementations§

§

impl<W> RefUnwindSafe for GnuBuilder<W>where W: RefUnwindSafe,

§

impl<W> Send for GnuBuilder<W>where W: Send,

§

impl<W> Sync for GnuBuilder<W>where W: Sync,

§

impl<W> Unpin for GnuBuilder<W>where W: Unpin,

§

impl<W> UnwindSafe for GnuBuilder<W>where W: UnwindSafe,

Blanket Implementations§

source§

impl<T> Any for Twhere T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for Twhere T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for Twhere T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T, U> Into<U> for Twhere U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

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

source§

impl<T, U> TryFrom<U> for Twhere U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for Twhere U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.