Struct libxivdat::section::SectionData [−][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.
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
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 !=
.
Auto Trait Implementations
impl<'a> RefUnwindSafe for SectionData<'a>
impl<'a> Send for SectionData<'a>
impl<'a> Sync for SectionData<'a>
impl<'a> Unpin for SectionData<'a>
impl<'a> UnwindSafe for SectionData<'a>
Blanket Implementations
Mutably borrows from an owned value. Read more