Struct libyml::yaml::YamlDocumentT
source · #[non_exhaustive]#[repr(C)]pub struct YamlDocumentT {
pub nodes: YamlStackT<YamlNodeT>,
pub version_directive: *mut YamlVersionDirectiveT,
pub tag_directives: UnnamedYamlDocumentTTagDirectives,
pub start_implicit: bool,
pub end_implicit: bool,
pub start_mark: YamlMarkT,
pub end_mark: YamlMarkT,
}
Expand description
The document structure.
Fields (Non-exhaustive)§
This struct is marked as non-exhaustive
Non-exhaustive structs could have additional fields added in future. Therefore, non-exhaustive structs cannot be constructed in external crates using the traditional
Struct { .. }
syntax; cannot be matched against without a wildcard ..
; and struct update syntax will not work.nodes: YamlStackT<YamlNodeT>
The document nodes.
version_directive: *mut YamlVersionDirectiveT
The version directive.
tag_directives: UnnamedYamlDocumentTTagDirectives
The list of tag directives.
start_implicit: bool
Is the document start indicator implicit?
end_implicit: bool
Is the document end indicator implicit?
start_mark: YamlMarkT
The beginning of the document.
end_mark: YamlMarkT
The end of the document.
Implementations§
source§impl YamlDocumentT
impl YamlDocumentT
sourcepub unsafe fn cleanup(&mut self)
pub unsafe fn cleanup(&mut self)
Cleans up resources used by YamlDocumentT
. This includes deallocating memory for
version directives, tag directives, and nodes if they were allocated dynamically.
§Safety
This function is unsafe
because it assumes that all pointers (e.g., version_directive,
tag directives, and nodes) are either valid or null. It will attempt to free allocated
memory, so the caller must ensure that:
- The struct has been initialized properly.
- No other code retains pointers to the data being freed here.
- This method is not called concurrently with any operations that read from or write to the pointed-to data.
- The memory management strategy (allocation and deallocation) is correctly paired.
For instance, if
libc::malloc
is used to allocate,libc::free
should be used to deallocate.
Trait Implementations§
source§impl Clone for YamlDocumentT
impl Clone for YamlDocumentT
source§fn clone(&self) -> YamlDocumentT
fn clone(&self) -> YamlDocumentT
Returns a copy of the value. Read more
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moresource§impl Debug for YamlDocumentT
impl Debug for YamlDocumentT
Auto Trait Implementations§
impl Freeze for YamlDocumentT
impl RefUnwindSafe for YamlDocumentT
impl !Send for YamlDocumentT
impl !Sync for YamlDocumentT
impl Unpin for YamlDocumentT
impl UnwindSafe for YamlDocumentT
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
source§unsafe fn clone_to_uninit(&self, dst: *mut T)
unsafe fn clone_to_uninit(&self, dst: *mut T)
🔬This is a nightly-only experimental API. (
clone_to_uninit
)