11 #include "CmakeConfigForTomato.h" 21 static int addMapping(yaml_document_t *document,
int mapping_node_number,
const std::string& name,
const std::string& value){
23 int last_node = (int)(document->nodes.top - document->nodes.start + 1);
25 yaml_document_add_scalar(document, (yaml_char_t*)YAML_DEFAULT_SCALAR_TAG, (yaml_char_t*)name.c_str(), (int)name.length(), YAML_PLAIN_SCALAR_STYLE);
26 yaml_document_add_scalar(document, (yaml_char_t*)YAML_DEFAULT_SCALAR_TAG, (yaml_char_t*)value.c_str(), (int)value.length(), YAML_PLAIN_SCALAR_STYLE);
27 yaml_document_append_mapping_pair(document, mapping_node_number, last_node, last_node+1);
32 template<
typename MeasureType >
33 static int addSequenceOfNumbers(yaml_document_t *document,
int mapping_node_number,
const std::string& name, std::vector<MeasureType> vectorOfNumberValues){
35 std::vector<std::string> vectorOfValues(vectorOfNumberValues.size());
36 for (
size_t i = 0; i < vectorOfNumberValues.size(); i++){
37 vectorOfValues[i] = KWUtil::NumberToString(vectorOfNumberValues[i]);
40 int last_node = (int)(document->nodes.top - document->nodes.start + 1);
41 yaml_document_add_sequence(document, (yaml_char_t*)YAML_DEFAULT_SEQUENCE_TAG, YAML_FLOW_SEQUENCE_STYLE);
42 yaml_document_add_scalar(document, (yaml_char_t*)YAML_DEFAULT_SCALAR_TAG, (yaml_char_t*)name.c_str(), (int)name.length(), YAML_PLAIN_SCALAR_STYLE);
44 for (
size_t i = 0; i < vectorOfValues.size(); i++) {
45 yaml_document_add_scalar(document, (yaml_char_t *) YAML_DEFAULT_SCALAR_TAG, (yaml_char_t*)vectorOfValues.at(i).c_str(), (int)vectorOfValues[i].length(), YAML_PLAIN_SCALAR_STYLE);
47 yaml_document_append_mapping_pair(document, mapping_node_number, last_node+1, last_node);
48 for (
size_t i = 0; i < vectorOfValues.size(); i++) {
49 yaml_document_append_sequence_item(document, last_node, last_node+i+2);
55 static int addSequence(yaml_document_t *document,
int mapping_node_number,
const std::string& name, std::vector<std::string> vectorOfValues){
57 int last_node = (int)(document->nodes.top - document->nodes.start + 1);
58 yaml_document_add_sequence(document, (yaml_char_t*)YAML_DEFAULT_SEQUENCE_TAG, YAML_ANY_SEQUENCE_STYLE);
59 yaml_document_add_scalar(document, (yaml_char_t*)YAML_DEFAULT_SCALAR_TAG, (yaml_char_t*)name.c_str(), (int)name.length(), YAML_PLAIN_SCALAR_STYLE);
61 for (
size_t i = 0; i < vectorOfValues.size(); i++) {
62 yaml_document_add_scalar(document, (yaml_char_t *) YAML_DEFAULT_SCALAR_TAG, (yaml_char_t*)vectorOfValues.at(i).c_str(), (int)vectorOfValues[i].length(), YAML_DOUBLE_QUOTED_SCALAR_STYLE);
64 yaml_document_append_mapping_pair(document, mapping_node_number, last_node+1, last_node);
65 for (
size_t i = 0; i < vectorOfValues.size(); i++) {
66 yaml_document_append_sequence_item(document, last_node, last_node+i+2);
110 #endif //KWUTILYAML_H