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 a YamlDocumentT struct that can be safely written to.
  • version_directive, if not null, must point to a valid YamlVersionDirectiveT struct.
  • tag_directives_start and tag_directives_end must be valid pointers to YamlTagDirectiveT structs, or both must be null.
  • If tag_directives_start and tag_directives_end are not null, the range they define must contain valid YamlTagDirectiveT structs with non-null handle and prefix members, and the handle and prefix strings must be valid UTF-8.
  • The YamlDocumentT, YamlVersionDirectiveT, and YamlTagDirectiveT 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.