Struct tectonic::io::FilesystemPrimaryInputIo
source · pub struct FilesystemPrimaryInputIo { /* private fields */ }
Expand description
FilesystemPrimaryInputIo is an I/O provider that provides the TeX “primary input” file off of the filesystem. This can pretty much be achieved with Filesystem I/O, but we need the “primary input” formalism to decently support processing if stdin, and by doing things this way we can handle paths on Unix systems that can’t be converted to UTF-8.
TODO: it might be technically superior to open the path immediately and keep that handle open, rewinding as needed, but for now we’re not doing that.
Implementations§
source§impl FilesystemPrimaryInputIo
impl FilesystemPrimaryInputIo
sourcepub fn new<P>(path: P) -> FilesystemPrimaryInputIo
pub fn new<P>(path: P) -> FilesystemPrimaryInputIo
Create a new I/O provider providing the Tectonic “primary input” from the specified path.
Trait Implementations§
source§impl Debug for FilesystemPrimaryInputIo
impl Debug for FilesystemPrimaryInputIo
source§impl IoProvider for FilesystemPrimaryInputIo
impl IoProvider for FilesystemPrimaryInputIo
source§fn input_open_primary(
&mut self,
status: &mut dyn StatusBackend
) -> OpenResult<InputHandle>
fn input_open_primary( &mut self, status: &mut dyn StatusBackend ) -> OpenResult<InputHandle>
Open the “primary” input file, which in the context of TeX is the main
input that it’s given. When the build is being done using the
filesystem and the input is a file on the filesystem, this function
isn’t necesssarily that important, but those conditions don’t always
hold.
source§fn input_open_primary_with_abspath(
&mut self,
_status: &mut dyn StatusBackend
) -> OpenResult<(InputHandle, Option<PathBuf>)>
fn input_open_primary_with_abspath( &mut self, _status: &mut dyn StatusBackend ) -> OpenResult<(InputHandle, Option<PathBuf>)>
Open the primary input and return filesystem path information. Read more
source§fn output_open_name(&mut self, _name: &str) -> OpenResult<OutputHandle>
fn output_open_name(&mut self, _name: &str) -> OpenResult<OutputHandle>
Open the named file for output.
source§fn output_open_stdout(&mut self) -> OpenResult<OutputHandle>
fn output_open_stdout(&mut self) -> OpenResult<OutputHandle>
Open the standard output stream.
source§fn input_open_name(
&mut self,
_name: &str,
_status: &mut dyn StatusBackend
) -> OpenResult<InputHandle>
fn input_open_name( &mut self, _name: &str, _status: &mut dyn StatusBackend ) -> OpenResult<InputHandle>
Open the named file for input.
source§fn input_open_name_with_abspath(
&mut self,
name: &str,
status: &mut dyn StatusBackend
) -> OpenResult<(InputHandle, Option<PathBuf>)>
fn input_open_name_with_abspath( &mut self, name: &str, status: &mut dyn StatusBackend ) -> OpenResult<(InputHandle, Option<PathBuf>)>
Open the named file for input and return filesystem path information. Read more
source§fn input_open_format(
&mut self,
name: &str,
status: &mut dyn StatusBackend
) -> OpenResult<InputHandle>
fn input_open_format( &mut self, name: &str, status: &mut dyn StatusBackend ) -> OpenResult<InputHandle>
Open a format file with the specified name. Format files have a
specialized entry point because IOProviders may wish to handle them
specially: namely, to munge the filename to one that includes the
current version of the Tectonic engine, since the format contents
depend sensitively on the engine internals.
source§fn write_format(
&mut self,
_name: &str,
_data: &[u8],
_status: &mut dyn StatusBackend
) -> Result<(), Error>
fn write_format( &mut self, _name: &str, _data: &[u8], _status: &mut dyn StatusBackend ) -> Result<(), Error>
Save an a format dump in some way that this provider may be able to
recover in the future. This awkward interface is needed to write
formats with their special munged file names.
Auto Trait Implementations§
impl RefUnwindSafe for FilesystemPrimaryInputIo
impl Send for FilesystemPrimaryInputIo
impl Sync for FilesystemPrimaryInputIo
impl Unpin for FilesystemPrimaryInputIo
impl UnwindSafe for FilesystemPrimaryInputIo
Blanket Implementations§
source§impl<T> AsIoProviderMut for Twhere
T: IoProvider,
impl<T> AsIoProviderMut for Twhere
T: IoProvider,
source§fn as_ioprovider_mut(&mut self) -> &mut dyn IoProvider
fn as_ioprovider_mut(&mut self) -> &mut dyn IoProvider
Represent this value as an IoProvider trait object.
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