1 #ifdef RYML_SINGLE_HEADER_INTS
2 #ifndef _RYML_SINGLE_HEADER_AMALGAMATED_HPP_
3 #include <ryml_ints.hpp>
5 #elif defined(RYML_SINGLE_HEADER)
6 #ifndef _RYML_SINGLE_HEADER_AMALGAMATED_HPP_
7 #include <ryml_all.hpp>
11 #ifndef _C4_YML_EXTRA_SCALAR_HPP_
15 #ifndef _C4_YML_EXTRA_INTS_UTILS_HPP_
19 #ifndef _C4_BITMASK_HPP_
20 #include "c4/bitmask.hpp"
24 C4_SUPPRESS_WARNING_GCC_WITH_PUSH(
"-Wold-style-cast")
25 C4_SUPPRESS_WARNING_CLANG_WITH_PUSH("-Wold-style-cast")
31 c4::EnumSymbols<yml::extra::ievt::EventFlags> esyms<yml::extra::ievt::EventFlags>()
33 static constexpr
const EnumSymbols<yml::extra::ievt::EventFlags>::Sym syms[] = {
63 return EnumSymbols<yml::extra::ievt::EventFlags>(syms);
70 return c4::bm2str<ievt::EventFlags>((flags &
ievt::MASK), buf.str, buf.len);
75 RYML_CHECK(reqsize > 0u);
76 RYML_CHECK(reqsize < buf.len);
77 return buf.first(reqsize - 1u);
99 evtpos += ((evts[evtpos] &
ievt::WSTR) ? 3 : 1))
104 printf(
"[%d][%d] %.*s(0x%x)", evtnumber, evtpos, (
int)str.len, str.str, evt);
109 csubstr region = !in_arena ? parsed_yaml : arena;
110 bool safe = (evts[evtpos + 1] >= 0)
111 && (evts[evtpos + 2] >= 0)
112 && (evts[evtpos + 1] <= (int)region.len)
113 && ((evts[evtpos + 1] + evts[evtpos + 2]) <= (
int)region.len);
114 const char *str = safe ? (region.str + evts[evtpos + 1]) :
"ERR!!!";
115 int len = safe ? evts[evtpos + 2] : 6;
116 printf(
": %d [%d]~~~%.*s~~~", evts[evtpos+1], evts[evtpos+2], len, str);
118 printf(
" (arenasz=%zu)", arena.len);
120 printf(
" (srcsz=%zu)", parsed_yaml.len);
131 C4_SUPPRESS_WARNING_CLANG_POP
132 C4_SUPPRESS_WARNING_GCC_POP
void events_ints_print(csubstr parsed_yaml, csubstr arena, ievt::DataType const *evts, ievt::DataType evts_sz)
Print integer events to stdout.
@ BLCK
reading in block mode
@ FLOW
reading is inside explicit flow chars: [] or {}