ArgTarget
Description
Per-target tag produced by the ARG_TARGET macro. Carries the kind enum and an opaque pointer to the variable the parser will write into. Generated at compile time – caller never builds this by hand.
Usage example (Cross-references)
Usage examples (Cross-references)
- In
ArgParse.h:106:
ArgKind kind;
void *target;
} ArgTarget;
///
- In
ArgParse.h:213:
/// TAGS: ArgParse, Register, Internal
///
void arg_register(ArgParse *self, ArgRole role, Zstr short_name, Zstr long_name, Zstr help, ArgTarget target);
///
- In
ArgParse.h:234:
_Generic( \
(t), \
Zstr *: ((ArgTarget) {ARG_KIND_ZSTR, (void *)(t)}), \
char **: ((ArgTarget) {ARG_KIND_ZSTR, (void *)(t)}), \
Str *: ((ArgTarget) {ARG_KIND_STR, (void *)(t)}), \
- In
ArgParse.h:235:
(t), \
Zstr *: ((ArgTarget) {ARG_KIND_ZSTR, (void *)(t)}), \
char **: ((ArgTarget) {ARG_KIND_ZSTR, (void *)(t)}), \
Str *: ((ArgTarget) {ARG_KIND_STR, (void *)(t)}), \
bool *: ((ArgTarget) {ARG_KIND_BOOL, (void *)(t)}), \
- In
ArgParse.h:236:
Zstr *: ((ArgTarget) {ARG_KIND_ZSTR, (void *)(t)}), \
char **: ((ArgTarget) {ARG_KIND_ZSTR, (void *)(t)}), \
Str *: ((ArgTarget) {ARG_KIND_STR, (void *)(t)}), \
bool *: ((ArgTarget) {ARG_KIND_BOOL, (void *)(t)}), \
u8 *: ((ArgTarget) {ARG_KIND_U8, (void *)(t)}), \
- In
ArgParse.h:237:
char **: ((ArgTarget) {ARG_KIND_ZSTR, (void *)(t)}), \
Str *: ((ArgTarget) {ARG_KIND_STR, (void *)(t)}), \
bool *: ((ArgTarget) {ARG_KIND_BOOL, (void *)(t)}), \
u8 *: ((ArgTarget) {ARG_KIND_U8, (void *)(t)}), \
u16 *: ((ArgTarget) {ARG_KIND_U16, (void *)(t)}), \
- In
ArgParse.h:238:
Str *: ((ArgTarget) {ARG_KIND_STR, (void *)(t)}), \
bool *: ((ArgTarget) {ARG_KIND_BOOL, (void *)(t)}), \
u8 *: ((ArgTarget) {ARG_KIND_U8, (void *)(t)}), \
u16 *: ((ArgTarget) {ARG_KIND_U16, (void *)(t)}), \
u32 *: ((ArgTarget) {ARG_KIND_U32, (void *)(t)}), \
- In
ArgParse.h:239:
bool *: ((ArgTarget) {ARG_KIND_BOOL, (void *)(t)}), \
u8 *: ((ArgTarget) {ARG_KIND_U8, (void *)(t)}), \
u16 *: ((ArgTarget) {ARG_KIND_U16, (void *)(t)}), \
u32 *: ((ArgTarget) {ARG_KIND_U32, (void *)(t)}), \
u64 *: ((ArgTarget) {ARG_KIND_U64, (void *)(t)}), \
- In
ArgParse.h:240:
u8 *: ((ArgTarget) {ARG_KIND_U8, (void *)(t)}), \
u16 *: ((ArgTarget) {ARG_KIND_U16, (void *)(t)}), \
u32 *: ((ArgTarget) {ARG_KIND_U32, (void *)(t)}), \
u64 *: ((ArgTarget) {ARG_KIND_U64, (void *)(t)}), \
i16 *: ((ArgTarget) {ARG_KIND_I16, (void *)(t)}), \
- In
ArgParse.h:241:
u16 *: ((ArgTarget) {ARG_KIND_U16, (void *)(t)}), \
u32 *: ((ArgTarget) {ARG_KIND_U32, (void *)(t)}), \
u64 *: ((ArgTarget) {ARG_KIND_U64, (void *)(t)}), \
i16 *: ((ArgTarget) {ARG_KIND_I16, (void *)(t)}), \
i32 *: ((ArgTarget) {ARG_KIND_I32, (void *)(t)}), \
- In
ArgParse.h:242:
u32 *: ((ArgTarget) {ARG_KIND_U32, (void *)(t)}), \
u64 *: ((ArgTarget) {ARG_KIND_U64, (void *)(t)}), \
i16 *: ((ArgTarget) {ARG_KIND_I16, (void *)(t)}), \
i32 *: ((ArgTarget) {ARG_KIND_I32, (void *)(t)}), \
i64 *: ((ArgTarget) {ARG_KIND_I64, (void *)(t)}), \
- In
ArgParse.h:243:
u64 *: ((ArgTarget) {ARG_KIND_U64, (void *)(t)}), \
i16 *: ((ArgTarget) {ARG_KIND_I16, (void *)(t)}), \
i32 *: ((ArgTarget) {ARG_KIND_I32, (void *)(t)}), \
i64 *: ((ArgTarget) {ARG_KIND_I64, (void *)(t)}), \
f32 *: ((ArgTarget) {ARG_KIND_F32, (void *)(t)}), \
- In
ArgParse.h:244:
i16 *: ((ArgTarget) {ARG_KIND_I16, (void *)(t)}), \
i32 *: ((ArgTarget) {ARG_KIND_I32, (void *)(t)}), \
i64 *: ((ArgTarget) {ARG_KIND_I64, (void *)(t)}), \
f32 *: ((ArgTarget) {ARG_KIND_F32, (void *)(t)}), \
f64 *: ((ArgTarget) {ARG_KIND_F64, (void *)(t)}), \
- In
ArgParse.h:245:
i32 *: ((ArgTarget) {ARG_KIND_I32, (void *)(t)}), \
i64 *: ((ArgTarget) {ARG_KIND_I64, (void *)(t)}), \
f32 *: ((ArgTarget) {ARG_KIND_F32, (void *)(t)}), \
f64 *: ((ArgTarget) {ARG_KIND_F64, (void *)(t)}), \
default: ((ArgTarget) {ARG_KIND_INVALID, NULL}) \
- In
ArgParse.h:246:
i64 *: ((ArgTarget) {ARG_KIND_I64, (void *)(t)}), \
f32 *: ((ArgTarget) {ARG_KIND_F32, (void *)(t)}), \
f64 *: ((ArgTarget) {ARG_KIND_F64, (void *)(t)}), \
default: ((ArgTarget) {ARG_KIND_INVALID, NULL}) \
)- In
ArgParse.h:247:
f32 *: ((ArgTarget) {ARG_KIND_F32, (void *)(t)}), \
f64 *: ((ArgTarget) {ARG_KIND_F64, (void *)(t)}), \
default: ((ArgTarget) {ARG_KIND_INVALID, NULL}) \
)- In
ArgParse.c:422:
// ---------------------------------------------------------------------------
void arg_register(ArgParse *self, ArgRole role, Zstr short_name, Zstr long_name, Zstr help, ArgTarget target) {
if (!self)
LOG_FATAL("arg_register: NULL parser");
Last updated on