ocl_include/source/
mod.rs

1pub mod container;
2pub mod fs;
3pub mod mem;
4
5use std::{
6    io,
7    path::{Path, PathBuf},
8};
9
10/// Something that may provide file content by its name.
11pub trait Source {
12    /// Performs file loading
13    ///
14    /// Arguments:
15    /// + `path`: absolute or relative file path,
16    /// + `dir`: directory of parent file if it contains relative include directive
17    ///
18    /// Returns on success:
19    /// + Absolute path to file
20    /// + File content
21    fn read(&self, path: &Path, dir: Option<&Path>) -> io::Result<(PathBuf, String)>;
22}
23
24pub use fs::Fs;
25pub use mem::Mem;