ext/psych/yaml/dumper.c File Reference

#include "yaml_private.h"

Go to the source code of this file.

Defines

#define ANCHOR_TEMPLATE   "id%03d"
#define ANCHOR_TEMPLATE_LENGTH   16

Functions

 yaml_emitter_open (yaml_emitter_t *emitter)
 yaml_emitter_close (yaml_emitter_t *emitter)
 yaml_emitter_dump (yaml_emitter_t *emitter, yaml_document_t *document)
static void yaml_emitter_delete_document_and_anchors (yaml_emitter_t *emitter)
static void yaml_emitter_anchor_node (yaml_emitter_t *emitter, int index)
static yaml_char_tyaml_emitter_generate_anchor (yaml_emitter_t *emitter, int anchor_id)
static int yaml_emitter_dump_node (yaml_emitter_t *emitter, int index)
static int yaml_emitter_dump_alias (yaml_emitter_t *emitter, yaml_char_t *anchor)
static int yaml_emitter_dump_scalar (yaml_emitter_t *emitter, yaml_node_t *node, yaml_char_t *anchor)
static int yaml_emitter_dump_sequence (yaml_emitter_t *emitter, yaml_node_t *node, yaml_char_t *anchor)
static int yaml_emitter_dump_mapping (yaml_emitter_t *emitter, yaml_node_t *node, yaml_char_t *anchor)


Define Documentation

#define ANCHOR_TEMPLATE   "id%03d"

Definition at line 244 of file dumper.c.

Referenced by yaml_emitter_generate_anchor().

#define ANCHOR_TEMPLATE_LENGTH   16

Definition at line 245 of file dumper.c.

Referenced by yaml_emitter_generate_anchor().


Function Documentation

static void yaml_emitter_anchor_node ( yaml_emitter_t emitter,
int  index 
) [static]

Definition at line 207 of file dumper.c.

References yaml_emitter_s::anchor, yaml_emitter_s::anchors, yaml_emitter_s::document, yaml_node_pair_s::key, yaml_emitter_s::last_anchor_id, node, yaml_document_s::nodes, yaml_emitter_s::references, yaml_document_s::start, yaml_node_pair_s::value, YAML_MAPPING_NODE, and YAML_SEQUENCE_NODE.

Referenced by yaml_emitter_dump().

yaml_emitter_close ( yaml_emitter_t emitter  ) 

Definition at line 86 of file dumper.c.

References assert, mark(), STREAM_END_EVENT_INIT, and yaml_emitter_emit().

Referenced by yaml_emitter_dump().

static void yaml_emitter_delete_document_and_anchors ( yaml_emitter_t emitter  )  [static]

Definition at line 167 of file dumper.c.

References yaml_emitter_s::anchors, yaml_emitter_s::document, if(), node, yaml_document_s::nodes, NULL, yaml_emitter_s::serialized, yaml_document_s::start, yaml_document_s::top, RNode::value, yaml_document_delete(), yaml_free(), and YAML_SCALAR_NODE.

Referenced by yaml_emitter_dump().

yaml_emitter_dump ( yaml_emitter_t emitter,
yaml_document_t document 
)

Definition at line 112 of file dumper.c.

References assert, DOCUMENT_END_EVENT_INIT, DOCUMENT_START_EVENT_INIT, mark(), STACK_EMPTY, yaml_event_s::version_directive, yaml_emitter_anchor_node(), yaml_emitter_close(), yaml_emitter_delete_document_and_anchors(), yaml_emitter_dump_node(), yaml_emitter_emit(), yaml_emitter_open(), and yaml_malloc().

static int yaml_emitter_dump_alias ( yaml_emitter_t emitter,
yaml_char_t anchor 
) [static]

Definition at line 301 of file dumper.c.

References ALIAS_EVENT_INIT, mark(), and yaml_emitter_emit().

Referenced by yaml_emitter_dump_node().

static int yaml_emitter_dump_mapping ( yaml_emitter_t emitter,
yaml_node_t node,
yaml_char_t anchor 
) [static]

Definition at line 369 of file dumper.c.

References yaml_node_pair_s::key, MAPPING_END_EVENT_INIT, MAPPING_START_EVENT_INIT, mark(), node, yaml_node_pair_s::value, YAML_DEFAULT_MAPPING_TAG, yaml_emitter_dump_node(), and yaml_emitter_emit().

Referenced by yaml_emitter_dump_node().

static int yaml_emitter_dump_node ( yaml_emitter_t emitter,
int  index 
) [static]

Definition at line 264 of file dumper.c.

References yaml_emitter_s::anchor, yaml_emitter_s::anchors, assert, yaml_emitter_s::document, node, yaml_document_s::nodes, NULL, yaml_emitter_s::serialized, yaml_document_s::start, yaml_emitter_dump_alias(), yaml_emitter_dump_mapping(), yaml_emitter_dump_scalar(), yaml_emitter_dump_sequence(), yaml_emitter_generate_anchor(), YAML_MAPPING_NODE, YAML_SCALAR_NODE, and YAML_SEQUENCE_NODE.

Referenced by yaml_emitter_dump(), yaml_emitter_dump_mapping(), and yaml_emitter_dump_sequence().

static int yaml_emitter_dump_scalar ( yaml_emitter_t emitter,
yaml_node_t node,
yaml_char_t anchor 
) [static]

Definition at line 316 of file dumper.c.

References mark(), node, SCALAR_EVENT_INIT, RNode::value, YAML_DEFAULT_SCALAR_TAG, and yaml_emitter_emit().

Referenced by yaml_emitter_dump_node().

static int yaml_emitter_dump_sequence ( yaml_emitter_t emitter,
yaml_node_t node,
yaml_char_t anchor 
) [static]

Definition at line 339 of file dumper.c.

References mark(), node, SEQUENCE_END_EVENT_INIT, SEQUENCE_START_EVENT_INIT, YAML_DEFAULT_SEQUENCE_TAG, yaml_emitter_dump_node(), and yaml_emitter_emit().

Referenced by yaml_emitter_dump_node().

static yaml_char_t * yaml_emitter_generate_anchor ( yaml_emitter_t emitter,
int  anchor_id 
) [static]

Definition at line 248 of file dumper.c.

References ANCHOR_TEMPLATE, ANCHOR_TEMPLATE_LENGTH, NULL, and yaml_malloc().

Referenced by yaml_emitter_dump_node().

yaml_emitter_open ( yaml_emitter_t emitter  ) 

Definition at line 62 of file dumper.c.

References assert, mark(), STREAM_START_EVENT_INIT, YAML_ANY_ENCODING, and yaml_emitter_emit().

Referenced by yaml_emitter_dump().


Generated on 19 Jul 2016 for Ruby by  doxygen 1.4.7