Internal string buffer handling. Unless you're writing a json_object_to_json_string_fn implementation for use with json_object_set_serializer() direct use of this is not recommended.
More...
Internal string buffer handling. Unless you're writing a json_object_to_json_string_fn implementation for use with json_object_set_serializer() direct use of this is not recommended.
◆ JSON_EXPORT
#define JSON_EXPORT extern |
◆ printbuf_length
#define printbuf_length |
( |
| p | ) |
|
◆ printbuf_memappend_fast
#define printbuf_memappend_fast |
( |
| p, |
|
|
| bufptr, |
|
|
| bufsize ) |
Value: do \
{ \
if ((p->size - p->bpos) > bufsize) \
{ \
memcpy(p->buf + p->bpos, (bufptr), bufsize); \
p->bpos += bufsize; \
p->buf[p->bpos] = '\0'; \
} \
else \
{ \
printbuf_memappend(p, (bufptr), bufsize); \
} \
} while (0)
◆ printbuf_strappend
#define printbuf_strappend |
( |
| pb, |
|
|
| str ) |
Value:
JSON_EXPORT int printbuf_memappend(struct printbuf *p, const char *buf, int size)
This is an optimization wrapper around printbuf_memappend() that is useful for appending string literals. Since the size of string constants is known at compile time, using this macro can avoid a costly strlen() call. This is especially helpful when a constant string must be appended many times. If you got here because of a compilation error caused by passing something other than a string literal, use printbuf_memappend_fast() in conjunction with strlen().
See also: printbuf_memappend_fast() printbuf_memappend() sprintbuf()
◆ printbuf
typedef struct printbuf printbuf |
◆ printbuf_free()
◆ printbuf_memappend()
◆ printbuf_memset()
Set len bytes of the buffer to charvalue, starting at offset offset. Similar to calling memset(x, charvalue, len);
The memory allocated for the buffer is extended as necessary.
If offset is -1, this starts at the end of the current data in the buffer.
◆ printbuf_new()
◆ printbuf_reset()
◆ sprintbuf()
Formatted print to printbuf.
This function is the most expensive of the available functions for appending string data to a printbuf and should be used only where convenience is more important than speed. Avoid using this function in high performance code or tight loops; in these scenarios, consider using snprintf() with a static buffer in conjunction with one of the printbuf_*append() functions.
See also: printbuf_memappend_fast() printbuf_memappend() printbuf_strappend()