Defined in header <fkYAML/node.hpp>
fkyaml::basic_node::serialize_docs¶
Serializes YAML documents into a string.
This function serializes the given docs
parameter with the separation line (...) between YAML documents.
Regarding the serialization of each document, see the documentation for the serialize()
function with which this function shares internal implementation.
Just as the serialize()
function does, fkYAML unconditionally uses LFs as the line break format in serialization outputs, and there is currently no way to change it to use CR+LFs instead.
<YAML Document 1>
...
<YAML Document 2>
# the last document end marker (...) is omitted since it's redundant.
Parameters¶
docs
[in]basic_node
objects to be serialized.
Return Value¶
The resulting string object of the serialization.
Examples¶
Example
#include <iostream>
#include <fkYAML/node.hpp>
int main() {
// create a basic_node object.
fkyaml::node n1 = {
{"foo", true},
{"bar", {1, 2, 3}},
{"baz", {{"qux", 3.14}, {"corge", nullptr}}},
{{{true, 123}}, false},
{{1.23, 4.56, 7.89}, 123456789}};
// set tags to some nodes.
n1["foo"].add_tag_name("!!bool");
n1["bar"][1].add_tag_name("!<tag:yaml.org,2002:int>");
// set an anchor name to a node.
n1["baz"].add_anchor_name("anchor");
// create another one.
fkyaml::node n2 = {"foo", 123, true};
// serialize the basic_node objects into a string.
std::cout << fkyaml::node::serialize_docs({n1, n2}) << std::endl;
return 0;
}
output: