Function libyml::api::yaml_document_initialize
source · pub unsafe fn yaml_document_initialize(
document: *mut YamlDocumentT,
version_directive: *mut YamlVersionDirectiveT,
tag_directives_start: *mut YamlTagDirectiveT,
tag_directives_end: *mut YamlTagDirectiveT,
start_implicit: bool,
end_implicit: bool,
) -> Success
Expand description
Create a YAML document.
This function initializes a YamlDocumentT
struct with the provided version directive,
tag directives, and implicit flags. It allocates memory for the document data and
copies the provided directives.
§Safety
document
must be a valid, non-null pointer to aYamlDocumentT
struct that can be safely written to.version_directive
, if not null, must point to a validYamlVersionDirectiveT
struct.tag_directives_start
andtag_directives_end
must be valid pointers toYamlTagDirectiveT
structs, or both must be null.- If
tag_directives_start
andtag_directives_end
are not null, the range they define must contain validYamlTagDirectiveT
structs with non-nullhandle
andprefix
members, and thehandle
andprefix
strings must be valid UTF-8. - The
YamlDocumentT
,YamlVersionDirectiveT
, andYamlTagDirectiveT
structs must be properly aligned and have the expected memory layout. - The caller is responsible for freeing the memory allocated for the document using
yaml_document_delete
.