Struct libxivdat::section::SectionData[][src]

pub struct SectionData<'a> {
    pub content: &'a str,
    pub content_size: u16,
    pub tag: &'a str,
}
Expand description

A Section is variable-length data structure common to several binary DAT files. A Resource (ie, a Macro or Gearset) is then made out of a repeating pattern of sections. SectionData is used to build sections with references to pre-allocated buffers. To build a section that owns its own data, use Section.

Section-using file types

ACQ, KEYBIND, MACRO, and MACROSYS. See SECTION_BASED_TYPES.

Data Structure

0
0  1  2  3  ...
|  |--|  |- ...
|  |     \_ null-terminated utf8 string
|  \_ u16le content_size
\_ utf8 char section_type

Fields

content: &'a str

Data content of the section.

content_size: u16

Length of section content in bytes. Includes terminating null.

tag: &'a str

Single char string data type tag. The meaning of this tag varies by file type. Some tags are reused with different meanings between types.

Implementations

Builds a new SectionData with a given tag and content

Examples

use libxivdat::section::SectionData;

let new_section = SectionData::new("T", "Macro title!").unwrap();
assert_eq!(new_section.tag, "T");
assert_eq!(new_section.content, "Macro title!");
assert_eq!(new_section.content_size, 13);

Trait Implementations

Returns a copy of the value. Read more

Performs copy-assignment from source. Read more

Formats the value using the given formatter. Read more

Performs the conversion.

Performs the conversion.

Performs the conversion.

This method tests for self and other values to be equal, and is used by ==. Read more

This method tests for !=.

The type returned in the event of a conversion error.

Performs the conversion.

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

Immutably borrows from an owned value. Read more

Mutably borrows from an owned value. Read more

Performs the conversion.

Performs the conversion.

The resulting type after obtaining ownership.

Creates owned data from borrowed data, usually by cloning. Read more

🔬 This is a nightly-only experimental API. (toowned_clone_into)

recently added

Uses borrowed data to replace owned data, usually by cloning. Read more

The type returned in the event of a conversion error.

Performs the conversion.

The type returned in the event of a conversion error.

Performs the conversion.