rapidyaml  0.10.0
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
 
 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::BSTR = (1 << 0) , c4::yml::extra::ievt::ESTR = (1 << 1) , c4::yml::extra::ievt::BDOC = (1 << 2) , c4::yml::extra::ievt::EDOC = (1 << 3) ,
  c4::yml::extra::ievt::BMAP = (1 << 4) , c4::yml::extra::ievt::EMAP = (1 << 5) , c4::yml::extra::ievt::BSEQ = (1 << 6) , c4::yml::extra::ievt::ESEQ = (1 << 7) ,
  c4::yml::extra::ievt::SCLR = (1 << 8) , c4::yml::extra::ievt::ANCH = (1 << 9) , c4::yml::extra::ievt::ALIA = (1 << 10) , c4::yml::extra::ievt::TAG_ = (1 << 11) ,
  c4::yml::extra::ievt::PLAI = (1 << 12) , c4::yml::extra::ievt::SQUO = (1 << 13) , c4::yml::extra::ievt::DQUO = (1 << 14) , c4::yml::extra::ievt::LITL = (1 << 15) ,
  c4::yml::extra::ievt::FOLD = (1 << 16) , c4::yml::extra::ievt::FLOW = (1 << 17) , c4::yml::extra::ievt::BLCK = (1 << 18) , c4::yml::extra::ievt::KEY_ = (1 << 19) ,
  c4::yml::extra::ievt::VAL_ = (1 << 20) , c4::yml::extra::ievt::EXPL = (1 << 21) , c4::yml::extra::ievt::YAML = (1 << 22) , c4::yml::extra::ievt::TAGD = (1 << 23) ,
  c4::yml::extra::ievt::TAGV = (1 << 24) , c4::yml::extra::ievt::AREN = (1 << 25) , c4::yml::extra::ievt::PSTR = (1 << 26) , c4::yml::extra::ievt::UNFILT = (1 << 27) ,
  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.