rapidyaml 0.15.2
parse and emit YAML, and do it fast
Loading...
Searching...
No Matches
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 contiguous buffer of integers. More...

Namespaces

namespace  c4
namespace  c4::yml
namespace  c4::yml::extra
namespace  c4::yml::extra::ievt

Typedefs

using c4::yml::extra::evt_size = int32_t
 data type for integer events size.
using c4::yml::extra::ievt::evt_bits = int32_t
 data type for integer events bits.

Enumerations

enum  c4::yml::extra::ievt::EventBits : evt_bits {
  c4::yml::extra::ievt::KEY_ = (1 << 0) , c4::yml::extra::ievt::VAL_ = (1 << 1) , c4::yml::extra::ievt::BEG_ = (1 << 2) , c4::yml::extra::ievt::END_ = (1 << 3) ,
  c4::yml::extra::ievt::SEQ_ = (1 << 4) , c4::yml::extra::ievt::MAP_ = (1 << 5) , c4::yml::extra::ievt::DOC_ = (1 << 6) , c4::yml::extra::ievt::EXPL = (1 << 7) ,
  c4::yml::extra::ievt::STRM = (1 << 8) , 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 << 9) , c4::yml::extra::ievt::ALIA = (1 << 10) , c4::yml::extra::ievt::ANCH = (1 << 11) ,
  c4::yml::extra::ievt::TAG_ = (1 << 12) , c4::yml::extra::ievt::YAML = (1 << 13) , c4::yml::extra::ievt::TAGH = (1 << 14) , c4::yml::extra::ievt::TAGP = (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::UNFILT = (1 << 23) ,
  c4::yml::extra::ievt::AREN = (1 << 24) , c4::yml::extra::ievt::WSTR = SCLR|ALIA|ANCH|TAG_|TAGH|TAGP|YAML , c4::yml::extra::ievt::PSTR = (1 << 25) , c4::yml::extra::ievt::JUMP = (1 << 26) ,
  c4::yml::extra::ievt::PJUMP = (1 << 27) , c4::yml::extra::ievt::LAST = PJUMP , c4::yml::extra::ievt::MASK = (LAST << 1) - 1
}
 enumeration of integer event bits. More...

Functions

evt_size 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.

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::EventBits
c4::yml::extra::EventHandlerInts

Definition in file event_handler_ints.hpp.