Orcus
Public Types | Public Member Functions | List of all members
orcus::yaml_parser< _Handler > Class Template Reference
Inheritance diagram for orcus::yaml_parser< _Handler >:
orcus::yaml::parser_base orcus::parser_base

Public Types

typedef _Handler handler_type
 

Public Member Functions

 yaml_parser (const char *p, size_t n, handler_type &hdl)
 
void parse ()
 

Additional Inherited Members

- Protected Member Functions inherited from orcus::yaml::parser_base
 parser_base (const parser_base &)=delete
 
parser_baseoperator= (const parser_base &)=delete
 
 parser_base (const char *p, size_t n)
 
size_t parse_indent ()
 
pstring parse_to_end_of_line ()
 
void skip_comment ()
 
size_t get_scope () const
 
void push_scope (size_t scope_width)
 
scope_t get_scope_type () const
 
void set_scope_type (scope_t type)
 
size_t pop_scope ()
 
void push_line_back (const char *p, size_t n)
 
pstring pop_line_front ()
 
bool has_line_buffer () const
 
size_t get_line_buffer_count () const
 
pstring merge_line_buffer ()
 
const char * get_doc_hash () const
 
void set_doc_hash (const char *hash)
 
keyword_t parse_keyword (const char *p, size_t len)
 
key_value parse_key_value (const char *p, size_t len)
 
pstring parse_single_quoted_string_value (const char *&p, size_t max_length)
 
pstring parse_double_quoted_string_value (const char *&p, size_t max_length)
 
void skip_blanks (const char *&p, size_t len)
 
void start_literal_block ()
 
bool in_literal_block () const
 
void handle_line_in_literal (size_t indent)
 
void handle_line_in_multi_line_string ()
 
- Protected Member Functions inherited from orcus::parser_base
 parser_base (const char *p, size_t n)
 
bool has_char () const
 
bool has_next () const
 
void next (size_t inc=1)
 
void prev (size_t dec=1)
 
char cur_char () const
 
char next_char () const
 
void skip (const char *chars_to_skip)
 
bool parse_expected (const char *expected)
 
double parse_double ()
 
size_t remaining_size () const
 
std::ptrdiff_t offset () const
 
- Protected Attributes inherited from orcus::parser_base
const char * mp_begin
 
const char * mp_char
 
const char * mp_end
 
- Static Protected Attributes inherited from orcus::yaml::parser_base
static const size_t parse_indent_blank_line
 
static const size_t parse_indent_end_of_stream
 
static const size_t scope_empty