1 #ifndef _C4_YML_WRITER_HPP_
2 #define _C4_YML_WRITER_HPP_
4 #ifndef _C4_YML_COMMON_HPP_
48 fwrite(a,
sizeof(
char), N - 1,
m_file);
54 #if defined(__clang__)
55 # pragma clang diagnostic push
56 # pragma GCC diagnostic ignored "-Wsign-conversion"
57 #elif defined(__GNUC__)
58 # pragma GCC diagnostic push
59 # pragma GCC diagnostic ignored "-Wsign-conversion"
61 if(sp.empty())
return;
62 fwrite(sp.str,
sizeof(csubstr::char_type), sp.len,
m_file);
64 #if defined(__clang__)
65 # pragma clang diagnostic pop
66 #elif defined(__GNUC__)
67 # pragma GCC diagnostic pop
77 inline void _do_write(
const char c,
size_t num_times)
79 for(
size_t i = 0; i < num_times; ++i)
90 template<
class OStream>
115 #if defined(__clang__)
116 # pragma clang diagnostic push
117 # pragma GCC diagnostic ignored "-Wsign-conversion"
118 #elif defined(__GNUC__)
119 # pragma GCC diagnostic push
120 # pragma GCC diagnostic ignored "-Wsign-conversion"
122 if(sp.empty())
return;
125 #if defined(__clang__)
126 # pragma clang diagnostic pop
127 #elif defined(__GNUC__)
128 # pragma GCC diagnostic pop
140 for(
size_t i = 0; i < num_times; ++i)
158 inline substr
_get(
bool error_on_excess)
177 RYML_ASSERT( !
m_buf.overlaps(a));
187 if(sp.empty())
return;
188 RYML_ASSERT( ! sp.overlaps(
m_buf));
206 for(
size_t i = 0; i < num_times; ++i)
Common utilities and infrastructure used by ryml.
void _do_write(csubstr sp)
WriterOStream(OStream &s)
void _do_write(const char(&a)[N])
void _do_write(const char c)
WriterFile(FILE *f=nullptr)
void _do_write(csubstr sp)
void _do_write(const char c, size_t num_times)
void _do_write(const char c, size_t num_times)
void _do_write(const char(&a)[N])
void _do_write(const char c)
void _do_write(const char(&a)[N])
void _do_write(csubstr sp)
void _do_write(const char c, size_t num_times)
substr _get(bool error_on_excess)
void _do_write(const char c)
void error(Callbacks const &cb, const char *msg, size_t msg_len, Location loc)
A writer that outputs to a file.
A writer that outputs to an STL-like ostream.