Ruby  2.0.0p247(2013-06-27revision41674)
Defines | Functions
ext/psych/yaml/emitter.c File Reference
#include "yaml_private.h"

Go to the source code of this file.

Defines

#define FLUSH(emitter)
#define PUT(emitter, value)
#define PUT_BREAK(emitter)
#define WRITE(emitter, string)
#define WRITE_BREAK(emitter, string)

Functions

 yaml_emitter_emit (yaml_emitter_t *emitter, yaml_event_t *event)
 Emit an event.
static int yaml_emitter_set_emitter_error (yaml_emitter_t *emitter, const char *problem)
static int yaml_emitter_need_more_events (yaml_emitter_t *emitter)
static int yaml_emitter_append_tag_directive (yaml_emitter_t *emitter, yaml_tag_directive_t value, int allow_duplicates)
static int yaml_emitter_increase_indent (yaml_emitter_t *emitter, int flow, int indentless)
static int yaml_emitter_state_machine (yaml_emitter_t *emitter, yaml_event_t *event)
static int yaml_emitter_emit_stream_start (yaml_emitter_t *emitter, yaml_event_t *event)
static int yaml_emitter_emit_document_start (yaml_emitter_t *emitter, yaml_event_t *event, int first)
static int yaml_emitter_emit_document_content (yaml_emitter_t *emitter, yaml_event_t *event)
static int yaml_emitter_emit_document_end (yaml_emitter_t *emitter, yaml_event_t *event)
static int yaml_emitter_emit_flow_sequence_item (yaml_emitter_t *emitter, yaml_event_t *event, int first)
static int yaml_emitter_emit_flow_mapping_key (yaml_emitter_t *emitter, yaml_event_t *event, int first)
static int yaml_emitter_emit_flow_mapping_value (yaml_emitter_t *emitter, yaml_event_t *event, int simple)
static int yaml_emitter_emit_block_sequence_item (yaml_emitter_t *emitter, yaml_event_t *event, int first)
static int yaml_emitter_emit_block_mapping_key (yaml_emitter_t *emitter, yaml_event_t *event, int first)
static int yaml_emitter_emit_block_mapping_value (yaml_emitter_t *emitter, yaml_event_t *event, int simple)
static int yaml_emitter_emit_node (yaml_emitter_t *emitter, yaml_event_t *event, int root, int sequence, int mapping, int simple_key)
static int yaml_emitter_emit_alias (yaml_emitter_t *emitter, yaml_event_t *event)
static int yaml_emitter_emit_scalar (yaml_emitter_t *emitter, yaml_event_t *event)
static int yaml_emitter_emit_sequence_start (yaml_emitter_t *emitter, yaml_event_t *event)
static int yaml_emitter_emit_mapping_start (yaml_emitter_t *emitter, yaml_event_t *event)
static int yaml_emitter_check_empty_document (yaml_emitter_t *emitter)
static int yaml_emitter_check_empty_sequence (yaml_emitter_t *emitter)
static int yaml_emitter_check_empty_mapping (yaml_emitter_t *emitter)
static int yaml_emitter_check_simple_key (yaml_emitter_t *emitter)
static int yaml_emitter_select_scalar_style (yaml_emitter_t *emitter, yaml_event_t *event)
static int yaml_emitter_process_anchor (yaml_emitter_t *emitter)
static int yaml_emitter_process_tag (yaml_emitter_t *emitter)
static int yaml_emitter_process_scalar (yaml_emitter_t *emitter)
static int yaml_emitter_analyze_version_directive (yaml_emitter_t *emitter, yaml_version_directive_t version_directive)
static int yaml_emitter_analyze_tag_directive (yaml_emitter_t *emitter, yaml_tag_directive_t tag_directive)
static int yaml_emitter_analyze_anchor (yaml_emitter_t *emitter, yaml_char_t *anchor, int alias)
static int yaml_emitter_analyze_tag (yaml_emitter_t *emitter, yaml_char_t *tag)
static int yaml_emitter_analyze_scalar (yaml_emitter_t *emitter, yaml_char_t *value, size_t length)
static int yaml_emitter_analyze_event (yaml_emitter_t *emitter, yaml_event_t *event)
static int yaml_emitter_write_bom (yaml_emitter_t *emitter)
static int yaml_emitter_write_indent (yaml_emitter_t *emitter)
static int yaml_emitter_write_indicator (yaml_emitter_t *emitter, const char *indicator, int need_whitespace, int is_whitespace, int is_indention)
static int yaml_emitter_write_anchor (yaml_emitter_t *emitter, yaml_char_t *value, size_t length)
static int yaml_emitter_write_tag_handle (yaml_emitter_t *emitter, yaml_char_t *value, size_t length)
static int yaml_emitter_write_tag_content (yaml_emitter_t *emitter, yaml_char_t *value, size_t length, int need_whitespace)
static int yaml_emitter_write_plain_scalar (yaml_emitter_t *emitter, yaml_char_t *value, size_t length, int allow_breaks)
static int yaml_emitter_write_single_quoted_scalar (yaml_emitter_t *emitter, yaml_char_t *value, size_t length, int allow_breaks)
static int yaml_emitter_write_double_quoted_scalar (yaml_emitter_t *emitter, yaml_char_t *value, size_t length, int allow_breaks)
static int yaml_emitter_write_block_scalar_hints (yaml_emitter_t *emitter, yaml_string_t string)
static int yaml_emitter_write_literal_scalar (yaml_emitter_t *emitter, yaml_char_t *value, size_t length)
static int yaml_emitter_write_folded_scalar (yaml_emitter_t *emitter, yaml_char_t *value, size_t length)

Define Documentation

#define FLUSH (   emitter)
Value:
((emitter->buffer.pointer+5 < emitter->buffer.end)                          \
     || yaml_emitter_flush(emitter))

Definition at line 8 of file emitter.c.

Referenced by BSD_vfprintf(), and yaml_emitter_write_bom().

#define PUT (   emitter,
  value 
)
#define PUT_BREAK (   emitter)
Value:
(FLUSH(emitter)                                                             \
     && ((emitter->line_break == YAML_CR_BREAK ?                                \
             (*(emitter->buffer.pointer++) = (yaml_char_t) '\r') :              \
          emitter->line_break == YAML_LN_BREAK ?                                \
             (*(emitter->buffer.pointer++) = (yaml_char_t) '\n') :              \
          emitter->line_break == YAML_CRLN_BREAK ?                              \
             (*(emitter->buffer.pointer++) = (yaml_char_t) '\r',                \
              *(emitter->buffer.pointer++) = (yaml_char_t) '\n') : 0),          \
         emitter->column = 0,                                                   \
         emitter->line ++,                                                      \
         1))

Definition at line 26 of file emitter.c.

Referenced by yaml_emitter_write_folded_scalar(), yaml_emitter_write_indent(), yaml_emitter_write_literal_scalar(), yaml_emitter_write_plain_scalar(), and yaml_emitter_write_single_quoted_scalar().

#define WRITE (   emitter,
  string 
)
#define WRITE_BREAK (   emitter,
  string 
)
Value:
(FLUSH(emitter)                                                             \
     && (CHECK(string,'\n') ?                                                   \
         (PUT_BREAK(emitter),                                                   \
          string.pointer ++,                                                    \
          1) :                                                                  \
         (COPY(emitter->buffer,string),                                         \
          emitter->column = 0,                                                  \
          emitter->line ++,                                                     \
          1)))

Definition at line 53 of file emitter.c.

Referenced by yaml_emitter_write_folded_scalar(), yaml_emitter_write_literal_scalar(), yaml_emitter_write_plain_scalar(), and yaml_emitter_write_single_quoted_scalar().


Function Documentation

static int yaml_emitter_analyze_anchor ( yaml_emitter_t emitter,
yaml_char_t anchor,
int  alias 
) [static]
static int yaml_emitter_analyze_event ( yaml_emitter_t emitter,
yaml_event_t event 
) [static]
static int yaml_emitter_analyze_scalar ( yaml_emitter_t emitter,
yaml_char_t value,
size_t  length 
) [static]
static int yaml_emitter_analyze_tag ( yaml_emitter_t emitter,
yaml_char_t tag 
) [static]
static int yaml_emitter_analyze_tag_directive ( yaml_emitter_t emitter,
yaml_tag_directive_t  tag_directive 
) [static]
static int yaml_emitter_analyze_version_directive ( yaml_emitter_t emitter,
yaml_version_directive_t  version_directive 
) [static]
static int yaml_emitter_append_tag_directive ( yaml_emitter_t emitter,
yaml_tag_directive_t  value,
int  allow_duplicates 
) [static]
static int yaml_emitter_check_empty_document ( yaml_emitter_t emitter) [static]

Definition at line 1090 of file emitter.c.

Referenced by yaml_emitter_emit_document_start().

static int yaml_emitter_check_empty_mapping ( yaml_emitter_t emitter) [static]
static int yaml_emitter_check_empty_sequence ( yaml_emitter_t emitter) [static]
static int yaml_emitter_check_simple_key ( yaml_emitter_t emitter) [static]
static int yaml_emitter_emit_alias ( yaml_emitter_t emitter,
yaml_event_t event 
) [static]
static int yaml_emitter_emit_block_mapping_key ( yaml_emitter_t emitter,
yaml_event_t event,
int  first 
) [static]
static int yaml_emitter_emit_block_mapping_value ( yaml_emitter_t emitter,
yaml_event_t event,
int  simple 
) [static]
static int yaml_emitter_emit_block_sequence_item ( yaml_emitter_t emitter,
yaml_event_t event,
int  first 
) [static]
static int yaml_emitter_emit_document_content ( yaml_emitter_t emitter,
yaml_event_t event 
) [static]
static int yaml_emitter_emit_document_end ( yaml_emitter_t emitter,
yaml_event_t event 
) [static]
static int yaml_emitter_emit_document_start ( yaml_emitter_t emitter,
yaml_event_t event,
int  first 
) [static]
static int yaml_emitter_emit_flow_mapping_key ( yaml_emitter_t emitter,
yaml_event_t event,
int  first 
) [static]
static int yaml_emitter_emit_flow_mapping_value ( yaml_emitter_t emitter,
yaml_event_t event,
int  simple 
) [static]
static int yaml_emitter_emit_flow_sequence_item ( yaml_emitter_t emitter,
yaml_event_t event,
int  first 
) [static]
static int yaml_emitter_emit_mapping_start ( yaml_emitter_t emitter,
yaml_event_t event 
) [static]
static int yaml_emitter_emit_node ( yaml_emitter_t emitter,
yaml_event_t event,
int  root,
int  sequence,
int  mapping,
int  simple_key 
) [static]
static int yaml_emitter_emit_scalar ( yaml_emitter_t emitter,
yaml_event_t event 
) [static]
static int yaml_emitter_emit_sequence_start ( yaml_emitter_t emitter,
yaml_event_t event 
) [static]
static int yaml_emitter_emit_stream_start ( yaml_emitter_t emitter,
yaml_event_t event 
) [static]
static int yaml_emitter_increase_indent ( yaml_emitter_t emitter,
int  flow,
int  indentless 
) [static]
static int yaml_emitter_need_more_events ( yaml_emitter_t emitter) [static]
static int yaml_emitter_process_anchor ( yaml_emitter_t emitter) [static]
static int yaml_emitter_process_scalar ( yaml_emitter_t emitter) [static]
static int yaml_emitter_process_tag ( yaml_emitter_t emitter) [static]
static int yaml_emitter_select_scalar_style ( yaml_emitter_t emitter,
yaml_event_t event 
) [static]
static int yaml_emitter_set_emitter_error ( yaml_emitter_t emitter,
const char *  problem 
) [static]
static int yaml_emitter_state_machine ( yaml_emitter_t emitter,
yaml_event_t event 
) [static]
static int yaml_emitter_write_anchor ( yaml_emitter_t emitter,
yaml_char_t value,
size_t  length 
) [static]
static int yaml_emitter_write_block_scalar_hints ( yaml_emitter_t emitter,
yaml_string_t  string 
) [static]
static int yaml_emitter_write_bom ( yaml_emitter_t emitter) [static]

Definition at line 1754 of file emitter.c.

References yaml_emitter_s::buffer, and FLUSH.

Referenced by yaml_emitter_emit_stream_start().

static int yaml_emitter_write_double_quoted_scalar ( yaml_emitter_t emitter,
yaml_char_t value,
size_t  length,
int  allow_breaks 
) [static]
static int yaml_emitter_write_folded_scalar ( yaml_emitter_t emitter,
yaml_char_t value,
size_t  length 
) [static]
static int yaml_emitter_write_indent ( yaml_emitter_t emitter) [static]
static int yaml_emitter_write_indicator ( yaml_emitter_t emitter,
const char *  indicator,
int  need_whitespace,
int  is_whitespace,
int  is_indention 
) [static]
static int yaml_emitter_write_literal_scalar ( yaml_emitter_t emitter,
yaml_char_t value,
size_t  length 
) [static]
static int yaml_emitter_write_plain_scalar ( yaml_emitter_t emitter,
yaml_char_t value,
size_t  length,
int  allow_breaks 
) [static]
static int yaml_emitter_write_single_quoted_scalar ( yaml_emitter_t emitter,
yaml_char_t value,
size_t  length,
int  allow_breaks 
) [static]
static int yaml_emitter_write_tag_content ( yaml_emitter_t emitter,
yaml_char_t value,
size_t  length,
int  need_whitespace 
) [static]
static int yaml_emitter_write_tag_handle ( yaml_emitter_t emitter,
yaml_char_t value,
size_t  length 
) [static]