TypeSpecificWriter
Description
Type-specific write callback signature
Usage example (Cross-references)
Usage examples (Cross-references)
- In
Io.c:349:
// for literals. Fall back to a default writer.
if (fmt_info.flags & FMT_FLAG_CHAR) {
arg->writer = (TypeSpecificWriter)_write_i8;
} else {
arg->writer = (TypeSpecificWriter)_write_u64;- In
Io.c:351:
arg->writer = (TypeSpecificWriter)_write_i8;
} else {
arg->writer = (TypeSpecificWriter)_write_u64;
}
#else- In
Io.c:362:
// pointer to recover the source variable's natural width.
if (fmt_info.flags & FMT_FLAG_RAW) {
TypeSpecificWriter write_fn = arg->writer;
u32 var_width = 0;
if (write_fn == (void *)_write_u8 || write_fn == (void *)_write_i8) {- In
Io.h:130:
///
typedef struct TypeSpecificIO {
TypeSpecificWriter writer;
TypeSpecificReader reader;
void *data;- In
Io.h:158:
#endif
static inline TypeSpecificIO TO_TYPE_SPECIFIC_IO_IMPL(TypeSpecificWriter w, TypeSpecificReader r, void *d) {
return (TypeSpecificIO) {.writer = w, .reader = r, .data = d};
}- In
Io.h:177:
///
#define TO_TYPE_SPECIFIC_IO(T, d) \
TO_TYPE_SPECIFIC_IO_IMPL((TypeSpecificWriter)_write_##T, (TypeSpecificReader)_read_##T, (d))
///
- In
Io.h:207:
# define ZstrIO(zstr, alloc_ptr) \
((TypeSpecificIO) { \
.writer = (TypeSpecificWriter)_write_ZstrAlloc, \
.reader = (TypeSpecificReader)_read_ZstrAlloc, \
.data = &((ZstrIOArg) {.value = (void *)&(zstr), .allocator = (alloc_ptr)}), \
Last updated on