Struct libxivdat::section::Section [−][src]
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.
Section
owns its constituent data and is returned from helper functions like read_section()
.
To build a section with refrences to a pre-allocated buffer, use SectionData
.
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: String
Data content of the section.
content_size: u16
Length of section content in bytes. Includes terminating null.
tag: String
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 Section
with a given tag and content
Examples
use libxivdat::section::Section; let new_section = Section::new("T".to_string(), "Macro title!".to_string()).unwrap(); assert_eq!(new_section.tag, "T"); assert_eq!(new_section.content, "Macro title!"); assert_eq!(new_section.content_size, 13);
Trait Implementations
Performs the conversion.
Auto Trait Implementations
impl RefUnwindSafe for Section
impl UnwindSafe for Section
Blanket Implementations
Mutably borrows from an owned value. Read more