CompiledSpace

Struct CompiledSpace 

Source
pub struct CompiledSpace<R> {
    pub inner: R,
    pub bwtb: BWTB,
}
Expand description

A structure representing a full compiled space.

Fields§

§inner: R§bwtb: BWTB

Implementations§

Source§

impl<R: Read + Seek> CompiledSpace<R>

Source

pub fn new(inner: R) -> Result<Self>

Create a new lazy compiled space from a seekable read implementor. This function will only read the BWTB header section before actually returning the object.

Examples found in repository?
examples/space.rs (line 13)
8fn main() {
9
10    let path = env::var("WGT_SPACE_PATH").unwrap();
11    let file = File::open(path).unwrap();
12
13    let mut space = CompiledSpace::new(file).unwrap();
14
15    for section in &space.bwtb.sections {
16        println!("- {:?}", section);
17    }
18
19    let bwst: BWST = space.decode_section().unwrap();
20    let bwal: BWAL = space.decode_section().unwrap();
21    let bwcs: BWCS = space.decode_section().unwrap();
22    let bwsg: BWSG = space.decode_section().unwrap();
23    let bwt2: BWT2 = space.decode_section().unwrap();
24
25    for chunk in &bwt2.chunks {
26        println!("[{}/{}] {:?}", chunk.loc_x, chunk.loc_y, bwst.get_string(chunk.resource_fnv));
27    }
28
29}
Source

pub fn decode_section<S: Section>(&mut self) -> Option<S>

Decode a section from this compiled space.

Examples found in repository?
examples/space.rs (line 19)
8fn main() {
9
10    let path = env::var("WGT_SPACE_PATH").unwrap();
11    let file = File::open(path).unwrap();
12
13    let mut space = CompiledSpace::new(file).unwrap();
14
15    for section in &space.bwtb.sections {
16        println!("- {:?}", section);
17    }
18
19    let bwst: BWST = space.decode_section().unwrap();
20    let bwal: BWAL = space.decode_section().unwrap();
21    let bwcs: BWCS = space.decode_section().unwrap();
22    let bwsg: BWSG = space.decode_section().unwrap();
23    let bwt2: BWT2 = space.decode_section().unwrap();
24
25    for chunk in &bwt2.chunks {
26        println!("[{}/{}] {:?}", chunk.loc_x, chunk.loc_y, bwst.get_string(chunk.resource_fnv));
27    }
28
29}

Auto Trait Implementations§

§

impl<R> Freeze for CompiledSpace<R>
where R: Freeze,

§

impl<R> RefUnwindSafe for CompiledSpace<R>
where R: RefUnwindSafe,

§

impl<R> Send for CompiledSpace<R>
where R: Send,

§

impl<R> Sync for CompiledSpace<R>
where R: Sync,

§

impl<R> Unpin for CompiledSpace<R>
where R: Unpin,

§

impl<R> UnwindSafe for CompiledSpace<R>
where R: UnwindSafe,

Blanket Implementations§

Source§

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

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

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

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where 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 T
where 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> Same for T

Source§

type Output = T

Should always be Self
Source§

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

Source§

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 T
where U: TryFrom<T>,

Source§

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.
Source§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

Source§

fn vzip(self) -> V