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_ESCAPE_SCALAR_HPP_
15#ifndef C4_YML_EXTRA_INTS_UTILS_HPP_
20C4_SUPPRESS_WARNING_GCC_WITH_PUSH(
"-Wold-style-cast")
21C4_SUPPRESS_WARNING_CLANG_WITH_PUSH(
"-Wold-style-cast")
41 csubstr region = !in_arena ? parsed_yaml : arena;
42 return region.
sub((
size_t)evts_ints[i+1], (
size_t)evts_ints[i+2]);
46 size_t next = sz + s.len;
47 if (s.len && (next <= evts_test_suite.
len && evts_test_suite.
len))
48 memcpy(evts_test_suite.
str + sz, s.str, s.len);
53 auto maybe_append_tag = [&]{
71 bool has_anchor =
false;
73 auto maybe_append_anchor = [&]{
88 maybe_append_anchor();
92 auto append_esc = [&](
csubstr str){
93 substr buf = sz <= evts_test_suite.
len ? evts_test_suite.
sub(sz) : evts_test_suite.
last(0);
99 maybe_append_anchor();
126 append_cont(
"+SEQ",
"[]");
128 append_cont(
"+SEQ",
"");
137 append_cont(
"+MAP",
"{}");
139 append_cont(
"+MAP",
"");
164 append(
"+DOC ---\n");
171 append(
"-DOC ...\n");
192C4_SUPPRESS_WARNING_CLANG_POP
193C4_SUPPRESS_WARNING_GCC_POP
size_t events_ints_to_testsuite(csubstr parsed_yaml, csubstr arena, ievt::evt_bits const *evts_ints, ievt::evt_bits evts_ints_sz, substr evts_test_suite)
Create a testsuite event string from integer events.
basic_substring< char > substr
a mutable string view
basic_substring< const char > csubstr
an immutable string view
size_t escape_scalar(substr buffer, csubstr scalar, bool keep_newlines=false)
Escape a scalar to an existing buffer, using escape_scalar_fn.
bool begins_with(const C c) const noexcept
true if the first character of the string is c
size_t len
the length of the substring
basic_substring last(size_t num) const noexcept
return the last num elements: [len-num,len[
basic_substring sub(size_t first) const noexcept
return [first,len[
C * str
a restricted pointer to the first character of the substring