yaml_emitter_s Struct Reference
Emitter Definitions

The emitter structure. More...

`#include <yaml.h>`

## Data Fields

unsigned char * | buffer
| The buffer pointer. More...
size_t | size
| The buffer size. More...
size_t * | size_written
| The number of written bytes. More...
struct {
unsigned char * buffer
| The buffer pointer. More...
size_t size
| The buffer size. More...
size_t * size_written
| The number of written bytes. More...
} | string
| String output data. More...
FILE * | file
| File output data. More...
yaml_char_t * | start
| The beginning of the buffer. More...
yaml_char_t * | end
| The end of the buffer. More...
yaml_char_t * | pointer
| The current position of the buffer. More...
yaml_char_t * | last
| The last filled position of the buffer. More...
unsigned char * | start
| The beginning of the buffer. More...
unsigned char * | end
| The end of the buffer. More...
unsigned char * | pointer
| The current position of the buffer. More...
unsigned char * | last
| The last filled position of the buffer. More...
yaml_emitter_state_t * | start
| The beginning of the stack. More...
yaml_emitter_state_t * | end
| The end of the stack. More...
yaml_emitter_state_t * | top
| The top of the stack. More...
yaml_event_t * | start
| The beginning of the event queue. More...
yaml_event_t * | end
| The end of the event queue. More...
yaml_event_t * | head
| The head of the event queue. More...
yaml_event_t * | tail
| The tail of the event queue. More...
int * | start
| The beginning of the stack. More...
int * | end
| The end of the stack. More...
int * | top
| The top of the stack. More...
yaml_tag_directive_t * | start
| The beginning of the list. More...
yaml_tag_directive_t * | end
| The end of the list. More...
yaml_tag_directive_t * | top
| The top of the list. More...
yaml_char_t * | anchor
| The anchor value. More...
size_t | anchor_length
| The anchor length. More...
int | alias
| Is it an alias?
yaml_char_t * | handle
| The tag handle. More...
size_t | handle_length
| The tag handle length. More...
yaml_char_t * | suffix
| The tag suffix. More...
size_t | suffix_length
| The tag suffix length. More...
yaml_char_t * | value
| The scalar value. More...
size_t | length
| The scalar length. More...
int | multiline
| Does the scalar contain line breaks?
int | flow_plain_allowed
| Can the scalar be expessed in the flow plain style?
int | block_plain_allowed
| Can the scalar be expressed in the block plain style?
int | single_quoted_allowed
| Can the scalar be expressed in the single quoted style?
int | block_allowed
| Can the scalar be expressed in the literal or folded styles?
yaml_scalar_style_t | style
| The output style. More...
Error handling
yaml_error_type_t | error
| Error type. More...
const char * | problem
| Error description. More...
Writer stuff
yaml_write_handler_t * | write_handler
| Write handler. More...
void * | write_handler_data
| A pointer for passing to the write handler. More...
union {
struct {
unsigned char * buffer
| The buffer pointer. More...
size_t size
| The buffer size. More...
size_t * size_written
| The number of written bytes. More...
} string
| String output data. More...
FILE * file
| File output data. More...
} | output
| Standard (string or file) output data. More...
struct {
yaml_char_t * start
| The beginning of the buffer. More...
yaml_char_t * end
| The end of the buffer. More...
yaml_char_t * pointer
| The current position of the buffer. More...
yaml_char_t * last
| The last filled position of the buffer. More...
} | buffer
| The working buffer. More...
struct {
unsigned char * start
| The beginning of the buffer. More...
unsigned char * end
| The end of the buffer. More...
unsigned char * pointer
| The current position of the buffer. More...
unsigned char * last
| The last filled position of the buffer. More...
} | raw_buffer
| The raw buffer. More...
yaml_encoding_t | encoding
| The stream encoding. More...
Emitter stuff
int | canonical
| If the output is in the canonical style?
int | best_indent
| The number of indentation spaces. More...
int | best_width
| The preferred width of the output lines. More...
int | unicode
| Allow unescaped non-ASCII characters?
yaml_break_t | line_break
| The preferred line break. More...
struct {
yaml_emitter_state_t * start
| The beginning of the stack. More...
yaml_emitter_state_t * end
| The end of the stack. More...
yaml_emitter_state_t * top
| The top of the stack. More...
} | states
| The stack of states. More...
yaml_emitter_state_t | state
| The current emitter state. More...
struct {
yaml_event_t * start
| The beginning of the event queue. More...
yaml_event_t * end
| The end of the event queue. More...
yaml_event_t * head
| The head of the event queue. More...
yaml_event_t * tail
| The tail of the event queue. More...
} | events
| The event queue. More...
struct {
int * start
| The beginning of the stack. More...
int * end
| The end of the stack. More...
int * top
| The top of the stack. More...
} | indents
| The stack of indentation levels. More...
struct {
yaml_tag_directive_t * start
| The beginning of the list. More...
yaml_tag_directive_t * end
| The end of the list. More...
yaml_tag_directive_t * top
| The top of the list. More...
} | tag_directives
| The list of tag directives. More...
int | indent
| The current indentation level. More...
int | flow_level
| The current flow level. More...
int | root_context
| Is it the document root context?
int | sequence_context
| Is it a sequence context?
int | mapping_context
| Is it a mapping context?
int | simple_key_context
| Is it a simple mapping key context?
int | line
| The current line. More...
int | column
| The current column. More...
int | whitespace
| If the last character was a whitespace?
int | indention
| If the last character was an indentation character (' ', '-', '?', ':')?
int | open_ended
| If an explicit document end is required?
struct {
yaml_char_t * anchor
| The anchor value. More...
size_t anchor_length
| The anchor length. More...
int alias
| Is it an alias?
} | anchor_data
| Anchor analysis. More...
struct {
yaml_char_t * handle
| The tag handle. More...
size_t handle_length
| The tag handle length. More...
yaml_char_t * suffix
| The tag suffix. More...
size_t suffix_length
| The tag suffix length. More...
} | tag_data
| Tag analysis. More...
struct {
yaml_char_t * value
| The scalar value. More...
size_t length
| The scalar length. More...
int multiline
| Does the scalar contain line breaks?
int flow_plain_allowed
| Can the scalar be expessed in the flow plain style?
int block_plain_allowed
| Can the scalar be expressed in the block plain style?
int single_quoted_allowed
| Can the scalar be expressed in the single quoted style?
int block_allowed
| Can the scalar be expressed in the literal or folded styles?
yaml_scalar_style_t style
| The output style. More...
} | scalar_data
| Scalar analysis. More...
Dumper stuff
int | opened
| If the stream was already opened?
int | closed
| If the stream was already closed?
yaml_anchors_t * | anchors
| The information associated with the document nodes. More...
int | last_anchor_id
| The last assigned anchor id. More...
yaml_document_t * | document
| The currently emitted document. More...

## Detailed Description

The emitter structure.

All members are internal. Manage the structure using the `yaml_emitter_` family of functions.

## Field Documentation

## error

yaml_error_type_t yaml_emitter_s::error

Error type.

## problem

const char* yaml_emitter_s::problem

Error description.

## write_handler

yaml_write_handler_t* yaml_emitter_s::write_handler

Write handler.

## write_handler_data

void* yaml_emitter_s::write_handler_data

A pointer for passing to the write handler.

## buffer [1/2]

unsigned char* yaml_emitter_s::buffer

The buffer pointer.

## size

size_t yaml_emitter_s::size

The buffer size.

## size_written

size_t* yaml_emitter_s::size_written

The number of written bytes.

## string

struct { ... } yaml_emitter_s::string

String output data.

## file

FILE* yaml_emitter_s::file

File output data.

## output

union { ... } yaml_emitter_s::output

Standard (string or file) output data.

## start [1/6]

yaml_char_t* yaml_emitter_s::start

The beginning of the buffer.

## end [1/6]

yaml_char_t* yaml_emitter_s::end

The end of the buffer.

## pointer [1/2]

yaml_char_t* yaml_emitter_s::pointer

The current position of the buffer.

## last [1/2]

yaml_char_t* yaml_emitter_s::last

The last filled position of the buffer.

## buffer [2/2]

struct { ... } yaml_emitter_s::buffer

The working buffer.

## start [2/6]

unsigned char* yaml_emitter_s::start

The beginning of the buffer.

## end [2/6]

unsigned char* yaml_emitter_s::end

The end of the buffer.

## pointer [2/2]

unsigned char* yaml_emitter_s::pointer

The current position of the buffer.

## last [2/2]

unsigned char* yaml_emitter_s::last

The last filled position of the buffer.

## raw_buffer

struct { ... } yaml_emitter_s::raw_buffer

The raw buffer.

## encoding

yaml_encoding_t yaml_emitter_s::encoding

The stream encoding.

## best_indent

int yaml_emitter_s::best_indent

The number of indentation spaces.

## best_width

int yaml_emitter_s::best_width

The preferred width of the output lines.

## line_break

yaml_break_t yaml_emitter_s::line_break

The preferred line break.

## start [3/6]

yaml_emitter_state_t* yaml_emitter_s::start

The beginning of the stack.

## end [3/6]

yaml_emitter_state_t* yaml_emitter_s::end

The end of the stack.

## top [1/3]

yaml_emitter_state_t* yaml_emitter_s::top

The top of the stack.

## states

struct { ... } yaml_emitter_s::states

The stack of states.

## state

yaml_emitter_state_t yaml_emitter_s::state

The current emitter state.

## start [4/6]

yaml_event_t* yaml_emitter_s::start

The beginning of the event queue.

## end [4/6]

yaml_event_t* yaml_emitter_s::end

The end of the event queue.

## head

yaml_event_t* yaml_emitter_s::head

The head of the event queue.

## tail

yaml_event_t* yaml_emitter_s::tail

The tail of the event queue.

## events

struct { ... } yaml_emitter_s::events

The event queue.

## start [5/6]

int* yaml_emitter_s::start

The beginning of the stack.

## end [5/6]

int* yaml_emitter_s::end

The end of the stack.

## top [2/3]

int* yaml_emitter_s::top

The top of the stack.

## indents

struct { ... } yaml_emitter_s::indents

The stack of indentation levels.

## start [6/6]

yaml_tag_directive_t* yaml_emitter_s::start

The beginning of the list.

## end [6/6]

yaml_tag_directive_t* yaml_emitter_s::end

The end of the list.

## top [3/3]

yaml_tag_directive_t* yaml_emitter_s::top

The top of the list.

## tag_directives

struct { ... } yaml_emitter_s::tag_directives

The list of tag directives.

## indent

int yaml_emitter_s::indent

The current indentation level.

## flow_level

int yaml_emitter_s::flow_level

The current flow level.

## line

int yaml_emitter_s::line

The current line.

## column

int yaml_emitter_s::column

The current column.

## anchor

yaml_char_t* yaml_emitter_s::anchor

The anchor value.

## anchor_length

size_t yaml_emitter_s::anchor_length

The anchor length.

## anchor_data

struct { ... } yaml_emitter_s::anchor_data

Anchor analysis.

## handle

yaml_char_t* yaml_emitter_s::handle

The tag handle.

## handle_length

size_t yaml_emitter_s::handle_length

The tag handle length.

## suffix

yaml_char_t* yaml_emitter_s::suffix

The tag suffix.

## suffix_length

size_t yaml_emitter_s::suffix_length

The tag suffix length.

## tag_data

struct { ... } yaml_emitter_s::tag_data

Tag analysis.

## value

yaml_char_t* yaml_emitter_s::value

The scalar value.

## length

size_t yaml_emitter_s::length

The scalar length.

## style

yaml_scalar_style_t yaml_emitter_s::style

The output style.

## scalar_data

struct { ... } yaml_emitter_s::scalar_data

Scalar analysis.

## anchors

yaml_anchors_t* yaml_emitter_s::anchors

The information associated with the document nodes.

## last_anchor_id

int yaml_emitter_s::last_anchor_id

The last assigned anchor id.

## document

yaml_document_t* yaml_emitter_s::document

The currently emitted document.

The documentation for this struct was generated from the following file:

- yaml.h