#[cfg_attr(target_os = "freebsd", path = "tar_impl_bsdtar.rs")]
#[cfg_attr(target_os = "macos", path = "tar_impl_bsdtar.rs")]
#[cfg_attr(target_os = "linux", path = "tar_impl_gnutar.rs")]
mod tar_impl_real;
use crate::error::Result;
use std::path::Path;
pub use tar_impl_real::TarImpl;
pub trait Tar where Self: Sized {
fn new() -> Result<Self>;
fn extract<A, P>(&self, archive: A, into_dir: P) -> Result where A: AsRef<Path>, P: AsRef<Path>;
}