rapidyaml  0.11.1
parse and emit YAML, and do it fast
event_handler_ints.hpp File Reference

An event handler that creates an integer buffer with a very compact representation of the YAML tree in a source buffer. More...

#include <c4/yml/node_type.hpp>
#include "c4/yml/event_handler_stack.hpp"
#include <c4/yml/tag.hpp>
#include <c4/yml/detail/dbgprint.hpp>

Go to the source code of this file.

Classes

struct  c4::yml::extra::EventHandlerInts
 A parser event handler that creates a compact representation of the YAML tree in a buffer of integers (see ievt::EventFlags) containing masks (to represent events) and offset+length (to represent strings in the source buffer). More...
 

Namespaces

 c4
 (Undefined by default) Use shorter error message from checks/asserts: do not show the check condition in the error message.
 
 c4::yml
 
 c4::yml::extra
 
 c4::yml::extra::ievt
 

Typedefs

using c4::yml::extra::ievt::DataType = int32_t
 data type for integer events. More...
 

Enumerations

enum  c4::yml::extra::ievt::EventFlags : DataType {
  c4::yml::extra::ievt::KEY_ = (1 << 0) , c4::yml::extra::ievt::VAL_ = (1 << 1) , c4::yml::extra::ievt::PSTR = (1 << 2) , c4::yml::extra::ievt::AREN = (1 << 3) ,
  c4::yml::extra::ievt::BEG_ = (1 << 5) , c4::yml::extra::ievt::END_ = (1 << 6) , c4::yml::extra::ievt::SEQ_ = (1 << 7) , c4::yml::extra::ievt::MAP_ = (1 << 8) ,
  c4::yml::extra::ievt::DOC_ = (1 << 9) , c4::yml::extra::ievt::EXPL = (1 << 10) , c4::yml::extra::ievt::STRM = (1 << 11) , c4::yml::extra::ievt::BSEQ = BEG_|SEQ_ ,
  c4::yml::extra::ievt::ESEQ = END_|SEQ_ , c4::yml::extra::ievt::BMAP = BEG_|MAP_ , c4::yml::extra::ievt::EMAP = END_|MAP_ , c4::yml::extra::ievt::BSTR = BEG_|STRM ,
  c4::yml::extra::ievt::ESTR = END_|STRM , c4::yml::extra::ievt::BDOC = BEG_|DOC_ , c4::yml::extra::ievt::EDOC = END_|DOC_ , c4::yml::extra::ievt::SCLR = (1 << 12) ,
  c4::yml::extra::ievt::ALIA = (1 << 13) , c4::yml::extra::ievt::ANCH = (1 << 14) , c4::yml::extra::ievt::TAG_ = (1 << 15) , c4::yml::extra::ievt::PLAI = (1 << 16) ,
  c4::yml::extra::ievt::SQUO = (1 << 17) , c4::yml::extra::ievt::DQUO = (1 << 18) , c4::yml::extra::ievt::LITL = (1 << 19) , c4::yml::extra::ievt::FOLD = (1 << 20) ,
  c4::yml::extra::ievt::FLOW = (1 << 21) , c4::yml::extra::ievt::BLCK = (1 << 22) , c4::yml::extra::ievt::YAML = (1 << 23) , c4::yml::extra::ievt::TAGD = (1 << 24) ,
  c4::yml::extra::ievt::TAGV = (1 << 25) , c4::yml::extra::ievt::UNFILT = (1 << 26) , c4::yml::extra::ievt::LAST = UNFILT , c4::yml::extra::ievt::MASK = (LAST << 1) - 1 ,
  c4::yml::extra::ievt::WSTR = SCLR|ALIA|ANCH|TAG_|TAGD|TAGV|YAML
}
 enumeration of integer event bits. More...
 

Functions

int32_t c4::yml::extra::estimate_events_ints_size (csubstr src)
 Read YAML source and, without undergoing a full parse, estimate the size of the integer buffer required for EventHandlerInts. More...
 

Detailed Description

An event handler that creates an integer buffer with a very compact representation of the YAML tree in a source buffer.

This is not part of the main rapidyaml library.

See also
c4::yml::extra::ievt::EventFlags
c4::yml::extra::EventHandlerInts

Definition in file event_handler_ints.hpp.