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_INTS_UTILS_HPP_
16C4_SUPPRESS_WARNING_GCC_WITH_PUSH(
"-Wold-style-cast")
17C4_SUPPRESS_WARNING_CLANG_WITH_PUSH(
"-Wold-style-cast")
27struct FlagSym {
const char *str;
EventBits flags; };
28const FlagSym flag_syms_[] = {
62 detail::SubstrWriter_ writer(buf);
63 for(
const FlagSym sym : flag_syms_)
69 writer.append(sym.str);
74 writer.append(
"NONE");
75 if(buf.len > writer.pos)
76 buf[writer.pos] =
'\0';
83 RYML_CHECK_BASIC_(reqsize > 0u);
84 RYML_CHECK_BASIC_(reqsize < buf.
len);
85 return buf.
first(reqsize);
109 evtpos += ((evts[evtpos] &
ievt::WSTR) ? 3 : 1))
113 printf(
"[%d][%d] %.*s(0x%x)", evtnumber, evtpos, (
int)flags.
len, flags.
str, evt);
117 csubstr region = !in_arena ? parsed_yaml : arena;
118 bool safe = (evts[evtpos + 1] >= 0)
119 && (evts[evtpos + 2] >= 0)
122 const char *str = safe ? (region.
str + evts[evtpos + 1]) :
"ERR!!!";
124 printf(
": %d [%d]~~~%.*s~~~", evts[evtpos+1], evts[evtpos+2], len, str);
126 printf(
" (arenasz=%zu)", arena.
len);
128 printf(
" (srcsz=%zu)", parsed_yaml.
len);
139C4_SUPPRESS_WARNING_CLANG_POP
140C4_SUPPRESS_WARNING_GCC_POP
void events_ints_print(csubstr parsed_yaml, csubstr arena, ievt::evt_bits const *evts, ievt::evt_bits evts_sz)
Print integer events to stdout.
basic_substring< char > substr
a mutable string view
basic_substring< const char > csubstr
an immutable string view
size_t len
the length of the substring
basic_substring first(size_t num) const noexcept
return the first num elements: [0,num[
C * str
a restricted pointer to the first character of the substring