Skip to main content

KeyTable

Struct KeyTable 

Source
pub struct KeyTable { /* private fields */ }
Expand description

Decoded contents of a KEY file together with lazy BIF resolvers.

The table implements nwnrs_resman::ResContainer, so it can be placed directly inside a layered nwnrs_resman::ResMan. A decoded KEY table together with its referenced BIF handles.

The table preserves the KEY-level lookup structure explicitly: typed resource references map to KEY entries, which in turn identify one BIF and one variable resource id. The same typed value also implements nwnrs_resman::ResContainer so callers may use it directly in layered resource resolution.

Implementations§

Source§

impl KeyTable

Source

pub fn version(&self) -> KeyBifVersion

Returns the KEY/BIF version expected by this table.

Source

pub fn build_year(&self) -> u32

Returns the build year stored in the KEY header.

Source

pub fn build_day(&self) -> u32

Returns the build day stored in the KEY header.

Source

pub fn oid(&self) -> Option<&str>

Returns the enhanced-edition OID when present.

Source

pub fn raw_oid(&self) -> Option<&str>

Returns the raw enhanced-edition OID bytes as stored in the KEY header.

Source

pub fn bifs(&self) -> Vec<String>

Returns the referenced BIF filenames in table order.

Source

pub fn bif_contents(&self) -> KeyResult<Vec<KeyBifContents>>

Returns the resources grouped by BIF.

Calling this may lazily open referenced BIF files through the configured resolver.

§Errors

Returns KeyError if any referenced BIF file cannot be loaded.

Trait Implementations§

Source§

impl Debug for KeyTable

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Display for KeyTable

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl ResContainer for KeyTable

Source§

fn contains(&self, rr: &ResRef) -> bool

Returns whether the container can resolve rr.
Source§

fn demand(&self, rr: &ResRef) -> ResManResult<Res>

Returns the resource identified by rr or an error when it is absent. Read more
Source§

fn count(&self) -> usize

Returns the number of resources exposed by the container.
Source§

fn contents(&self) -> Vec<ResRef>

Returns every resource reference exposed by the container.

Auto Trait Implementations§

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> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
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> ToString for T
where T: Display + ?Sized,

Source§

fn to_string(&self) -> String

Converts the given value to a String. Read more
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<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more