Skip to content

FmtInfo

FmtInfo

Description

Stores formatting information for text output.

align : Text alignment (left, right, center). width : Minimum field width. precision : Number of decimal places for floating point. flags : Format flags (see FormatFlags enum).

Usage example (Cross-references)

Usage examples (Cross-references)
    
    
    static void _write_r8(Str *o, FmtInfo *fmt_info, u8 *v);
    static void _write_r16(Str *o, FmtInfo *fmt_info, u16 *v);
    static void _write_r32(Str *o, FmtInfo *fmt_info, u32 *v);
    
    static void _write_r8(Str *o, FmtInfo *fmt_info, u8 *v);
    static void _write_r16(Str *o, FmtInfo *fmt_info, u16 *v);
    static void _write_r32(Str *o, FmtInfo *fmt_info, u32 *v);
    static void _write_r64(Str *o, FmtInfo *fmt_info, u64 *v);
    static void _write_r8(Str *o, FmtInfo *fmt_info, u8 *v);
    static void _write_r16(Str *o, FmtInfo *fmt_info, u16 *v);
    static void _write_r32(Str *o, FmtInfo *fmt_info, u32 *v);
    static void _write_r64(Str *o, FmtInfo *fmt_info, u64 *v);
    static void _write_r16(Str *o, FmtInfo *fmt_info, u16 *v);
    static void _write_r32(Str *o, FmtInfo *fmt_info, u32 *v);
    static void _write_r64(Str *o, FmtInfo *fmt_info, u64 *v);
    
    static const char *_read_r8(const char *i, FmtInfo *fmt_info, u8 *v);
    static void _write_r64(Str *o, FmtInfo *fmt_info, u64 *v);
    
    static const char *_read_r8(const char *i, FmtInfo *fmt_info, u8 *v);
    static const char *_read_r16(const char *i, FmtInfo *fmt_info, u16 *v);
    static const char *_read_r32(const char *i, FmtInfo *fmt_info, u32 *v);
    
    static const char *_read_r8(const char *i, FmtInfo *fmt_info, u8 *v);
    static const char *_read_r16(const char *i, FmtInfo *fmt_info, u16 *v);
    static const char *_read_r32(const char *i, FmtInfo *fmt_info, u32 *v);
    static const char *_read_r64(const char *i, FmtInfo *fmt_info, u64 *v);
    static const char *_read_r8(const char *i, FmtInfo *fmt_info, u8 *v);
    static const char *_read_r16(const char *i, FmtInfo *fmt_info, u16 *v);
    static const char *_read_r32(const char *i, FmtInfo *fmt_info, u32 *v);
    static const char *_read_r64(const char *i, FmtInfo *fmt_info, u64 *v);
    static const char *_read_r16(const char *i, FmtInfo *fmt_info, u16 *v);
    static const char *_read_r32(const char *i, FmtInfo *fmt_info, u32 *v);
    static const char *_read_r64(const char *i, FmtInfo *fmt_info, u64 *v);
    
    // Portable helper for counting leading zeros in a 64-bit integer
    // Helper function to parse format specifiers
    // {[(alignment/endianness)[alignment-width/raw-read-width]](specifier)}
    static bool ParseFormatSpec(const char *spec, u32 len, FmtInfo *fi) {
        if (!spec || !fi) {
            LOG_FATAL("Invalid arguments to ParseFormatSpec");
    
        // Initialize format info with defaults
        *fi = (FmtInfo) {.align = ALIGN_RIGHT, .width = 0, .precision = 6, .flags = FMT_FLAG_NONE};
    
        u32 pos = 0;
    
                // Parse format specifier
                FmtInfo fmt_info;
                if (spec_len == 0) {
                    // Empty format specifier {} is allowed, initialize with defaults
                if (spec_len == 0) {
                    // Empty format specifier {} is allowed, initialize with defaults
                    fmt_info = (FmtInfo) {.align = ALIGN_RIGHT, .width = 0, .precision = 6, .flags = FMT_FLAG_NONE};
                } else if (!ParseFormatSpec(fmt + brace_start + 1, spec_len, &fmt_info)) {
                    return false;
    
                // Validate format specifier
                FmtInfo fmt_info = {0};
                if (!ParseFormatSpec(spec_buf, spec_len, &fmt_info)) {
                    LOG_ERROR("Failed to parse format specifier");
    }
    
    static u8 IntFmtRadixFromFlags(FmtInfo *fmt_info) {
        if (fmt_info && (fmt_info->flags & FMT_FLAG_HEX)) {
            return 16;
    }
    
    static bool FloatFmtUsesUnsupportedFlags(FmtInfo *fmt_info) {
        return fmt_info && (fmt_info->flags & (FMT_FLAG_CHAR | FMT_FLAG_HEX | FMT_FLAG_BINARY | FMT_FLAG_OCTAL |
                                               FMT_FLAG_RAW | FMT_FLAG_STRING)) != 0;
    /// TAGS: Helper, Character, Reading, EscapeSequences
    ///
    static inline const char *read_chars_internal(const char *i, u8 *buffer, size buffer_size, FmtInfo *fmt_info) {
        if (!i || !buffer || !buffer_size) {
            LOG_FATAL("Invalid arguments to read_chars_internal");
    }
    
    void _write_Str(Str *o, FmtInfo *fmt_info, Str *s) {
        if (!o || !s || !fmt_info) {
            LOG_FATAL("Invalid arguments");
    }
    
    void _write_Zstr(Str *o, FmtInfo *fmt_info, const char **s) {
        if (!o || !s || !*s || !fmt_info) {
            LOG_FATAL("Invalid arguments");
    }
    
    void _write_u64(Str *o, FmtInfo *fmt_info, u64 *v) {
        if (!o || !fmt_info || !v) {
            LOG_FATAL("Invalid arguments");
    }
    
    void _write_u32(Str *o, FmtInfo *fmt_info, u32 *v) {
        if (!o || !fmt_info || !v) {
            LOG_FATAL("Invalid arguments");
    }
    
    void _write_u16(Str *o, FmtInfo *fmt_info, u16 *v) {
        if (!o || !fmt_info || !v) {
            LOG_FATAL("Invalid arguments");
    }
    
    void _write_u8(Str *o, FmtInfo *fmt_info, u8 *v) {
        if (!o || !fmt_info || !v) {
            LOG_FATAL("Invalid arguments");
    }
    
    void _write_i64(Str *o, FmtInfo *fmt_info, i64 *v) {
        if (!o || !fmt_info || !v) {
            LOG_FATAL("Invalid arguments");
    }
    
    void _write_i32(Str *o, FmtInfo *fmt_info, i32 *v) {
        if (!o || !fmt_info || !v) {
            LOG_FATAL("Invalid arguments");
    }
    
    void _write_i16(Str *o, FmtInfo *fmt_info, i16 *v) {
        if (!o || !fmt_info || !v) {
            LOG_FATAL("Invalid arguments");
    }
    
    void _write_i8(Str *o, FmtInfo *fmt_info, i8 *v) {
        if (!o || !fmt_info || !v) {
            LOG_FATAL("Invalid arguments");
    }
    
    void _write_f64(Str *o, FmtInfo *fmt_info, f64 *v) {
        if (!o || !fmt_info || !v) {
            LOG_FATAL("Invalid arguments");
    }
    
    void _write_f32(Str *o, FmtInfo *fmt_info, f32 *v) {
        if (!o || !fmt_info || !v) {
            LOG_FATAL("Invalid arguments");
    }
    
    void _write_Float(Str *o, FmtInfo *fmt_info, Float *value) {
        size start_len = 0;
        Str  temp      = StrInit();
    }
    
    const char *_read_Str(const char *i, FmtInfo *fmt_info, Str *s) {
        if (!i || !s)
            LOG_FATAL("Invalid arguments");
    }
    
    const char *_read_f64(const char *i, FmtInfo *fmt_info, f64 *v) {
        if (!i || !v)
            LOG_FATAL("Invalid arguments");
    }
    
    const char *_read_u8(const char *i, FmtInfo *fmt_info, u8 *v) {
        if (!i || !v)
            LOG_FATAL("Invalid arguments");
    }
    
    const char *_read_u16(const char *i, FmtInfo *fmt_info, u16 *v) {
        if (!i || !v)
            LOG_FATAL("Invalid arguments");
    }
    
    const char *_read_u32(const char *i, FmtInfo *fmt_info, u32 *v) {
        if (!i || !v)
            LOG_FATAL("Invalid arguments");
    }
    
    const char *_read_u64(const char *i, FmtInfo *fmt_info, u64 *v) {
        if (!i || !v)
            LOG_FATAL("Invalid arguments");
    }
    
    const char *_read_i8(const char *i, FmtInfo *fmt_info, i8 *v) {
        if (!i || !v)
            LOG_FATAL("Invalid arguments");
    }
    
    const char *_read_i16(const char *i, FmtInfo *fmt_info, i16 *v) {
        if (!i || !v)
            LOG_FATAL("Invalid arguments");
    }
    
    const char *_read_i32(const char *i, FmtInfo *fmt_info, i32 *v) {
        if (!i || !v)
            LOG_FATAL("Invalid arguments");
    }
    
    const char *_read_i64(const char *i, FmtInfo *fmt_info, i64 *v) {
        if (!i || !v)
            LOG_FATAL("Invalid arguments");
    }
    
    const char *_read_Zstr(const char *i, FmtInfo *fmt_info, const char **out) {
        (void)fmt_info; // Unused parameter
        if (!i || !out)
        // For string types, :c has no effect - work like regular string reading
        Str         temp        = StrInit();
        FmtInfo     default_fmt = {.align = ALIGN_RIGHT, .width = 0, .precision = 6, .flags = FMT_FLAG_NONE};
        const char *next        = _read_Str(i, &default_fmt, &temp);
    }
    
    void _write_BitVec(Str *o, FmtInfo *fmt_info, BitVec *bv) {
        if (!o || !fmt_info || !bv) {
            LOG_FATAL("Invalid arguments");
    }
    
    void _write_Int(Str *o, FmtInfo *fmt_info, Int *value) {
        if (!o || !fmt_info || !value) {
            LOG_FATAL("Invalid arguments");
    }
    
    void _write_UnsupportedType(Str *o, FmtInfo *fmt_info, const char **s) {
        (void)o;
        (void)fmt_info;
    }
    
    const char *_read_BitVec(const char *i, FmtInfo *fmt_info, BitVec *bv) {
        (void)fmt_info; // Unused parameter
        if (!i || !bv) {
    }
    
    const char *_read_Int(const char *i, FmtInfo *fmt_info, Int *value) {
        if (!i || !value) {
            LOG_FATAL("Invalid arguments");
    }
    
    const char *_read_Float(const char *i, FmtInfo *fmt_info, Float *value) {
        size        token_len = 0;
        const char *start     = NULL;
    }
    
    const char *_read_UnsupportedType(const char *i, FmtInfo *fmt_info, const char **s) {
        (void)fmt_info; // Unused parameter
        (void)s;
    }
    
    const char *_read_f32(const char *i, FmtInfo *fmt_info, f32 *v) {
        if (!i || !v)
            LOG_FATAL("Invalid arguments");
    }
    
    static void _write_r8(Str *o, FmtInfo *fmt_info, u8 *v) {
        if (!o || !fmt_info || !v) {
            LOG_FATAL("Invalid arguments");
    }
    
    static void _write_r16(Str *o, FmtInfo *fmt_info, u16 *v) {
        if (!o || !fmt_info || !v) {
            LOG_FATAL("Invalid arguments");
    }
    
    static void _write_r32(Str *o, FmtInfo *fmt_info, u32 *v) {
        if (!o || !fmt_info || !v) {
            LOG_FATAL("Invalid arguments");
    
    
    static void _write_r64(Str *o, FmtInfo *fmt_info, u64 *v) {
        if (!o || !fmt_info || !v) {
            LOG_FATAL("Invalid arguments");
    }
    
    static const char *_read_r8(const char *i, FmtInfo *fmt_info, u8 *v) {
        if (!i || !fmt_info || !v) {
            LOG_FATAL("Invalid arguments");
    }
    
    static const char *_read_r16(const char *i, FmtInfo *fmt_info, u16 *v) {
        if (!i || !fmt_info || !v) {
            LOG_FATAL("Invalid arguments to _read_r16");
    }
    
    static const char *_read_r32(const char *i, FmtInfo *fmt_info, u32 *v) {
        if (!i || !fmt_info || !v) {
            LOG_FATAL("Invalid arguments to _read_r32");
    }
    
    static const char *_read_r64(const char *i, FmtInfo *fmt_info, u64 *v) {
        if (!i || !fmt_info || !v) {
            LOG_FATAL("Invalid arguments to _read_r64");
        FormatFlags flags;
        u32         max_read_len;
    } FmtInfo;
    
    ///
    /// TAGS: I/O, Callback, Generic
    ///
    typedef void (*TypeSpecificWriter)(Str *o, FmtInfo *fmt_info, void *data);
    
    ///
    /// TAGS: I/O, Generic, Container
    ///
    typedef const char *(*TypeSpecificReader)(const char *i, FmtInfo *fmt_info, void *data);
    
    ///
    
    // not for direct use
    void _write_Str(Str *o, FmtInfo *fmt_info, Str *s);
    void _write_u8(Str *o, FmtInfo *fmt_info, u8 *v);
    void _write_u16(Str *o, FmtInfo *fmt_info, u16 *v);
    // not for direct use
    void _write_Str(Str *o, FmtInfo *fmt_info, Str *s);
    void _write_u8(Str *o, FmtInfo *fmt_info, u8 *v);
    void _write_u16(Str *o, FmtInfo *fmt_info, u16 *v);
    void _write_u32(Str *o, FmtInfo *fmt_info, u32 *v);
    void _write_Str(Str *o, FmtInfo *fmt_info, Str *s);
    void _write_u8(Str *o, FmtInfo *fmt_info, u8 *v);
    void _write_u16(Str *o, FmtInfo *fmt_info, u16 *v);
    void _write_u32(Str *o, FmtInfo *fmt_info, u32 *v);
    void _write_u64(Str *o, FmtInfo *fmt_info, u64 *v);
    void _write_u8(Str *o, FmtInfo *fmt_info, u8 *v);
    void _write_u16(Str *o, FmtInfo *fmt_info, u16 *v);
    void _write_u32(Str *o, FmtInfo *fmt_info, u32 *v);
    void _write_u64(Str *o, FmtInfo *fmt_info, u64 *v);
    void _write_i8(Str *o, FmtInfo *fmt_info, i8 *v);
    void _write_u16(Str *o, FmtInfo *fmt_info, u16 *v);
    void _write_u32(Str *o, FmtInfo *fmt_info, u32 *v);
    void _write_u64(Str *o, FmtInfo *fmt_info, u64 *v);
    void _write_i8(Str *o, FmtInfo *fmt_info, i8 *v);
    void _write_i16(Str *o, FmtInfo *fmt_info, i16 *v);
    void _write_u32(Str *o, FmtInfo *fmt_info, u32 *v);
    void _write_u64(Str *o, FmtInfo *fmt_info, u64 *v);
    void _write_i8(Str *o, FmtInfo *fmt_info, i8 *v);
    void _write_i16(Str *o, FmtInfo *fmt_info, i16 *v);
    void _write_i32(Str *o, FmtInfo *fmt_info, i32 *v);
    void _write_u64(Str *o, FmtInfo *fmt_info, u64 *v);
    void _write_i8(Str *o, FmtInfo *fmt_info, i8 *v);
    void _write_i16(Str *o, FmtInfo *fmt_info, i16 *v);
    void _write_i32(Str *o, FmtInfo *fmt_info, i32 *v);
    void _write_i64(Str *o, FmtInfo *fmt_info, i64 *v);
    void _write_i8(Str *o, FmtInfo *fmt_info, i8 *v);
    void _write_i16(Str *o, FmtInfo *fmt_info, i16 *v);
    void _write_i32(Str *o, FmtInfo *fmt_info, i32 *v);
    void _write_i64(Str *o, FmtInfo *fmt_info, i64 *v);
    void _write_Zstr(Str *o, FmtInfo *fmt_info, const char **s);
    void _write_i16(Str *o, FmtInfo *fmt_info, i16 *v);
    void _write_i32(Str *o, FmtInfo *fmt_info, i32 *v);
    void _write_i64(Str *o, FmtInfo *fmt_info, i64 *v);
    void _write_Zstr(Str *o, FmtInfo *fmt_info, const char **s);
    void _write_UnsupportedType(Str *o, FmtInfo *fmt_info, const char **s);
    void _write_i32(Str *o, FmtInfo *fmt_info, i32 *v);
    void _write_i64(Str *o, FmtInfo *fmt_info, i64 *v);
    void _write_Zstr(Str *o, FmtInfo *fmt_info, const char **s);
    void _write_UnsupportedType(Str *o, FmtInfo *fmt_info, const char **s);
    void _write_f32(Str *o, FmtInfo *fmt_info, f32 *v);
    void _write_i64(Str *o, FmtInfo *fmt_info, i64 *v);
    void _write_Zstr(Str *o, FmtInfo *fmt_info, const char **s);
    void _write_UnsupportedType(Str *o, FmtInfo *fmt_info, const char **s);
    void _write_f32(Str *o, FmtInfo *fmt_info, f32 *v);
    void _write_f64(Str *o, FmtInfo *fmt_info, f64 *v);
    void _write_Zstr(Str *o, FmtInfo *fmt_info, const char **s);
    void _write_UnsupportedType(Str *o, FmtInfo *fmt_info, const char **s);
    void _write_f32(Str *o, FmtInfo *fmt_info, f32 *v);
    void _write_f64(Str *o, FmtInfo *fmt_info, f64 *v);
    void _write_Float(Str *o, FmtInfo *fmt_info, Float *value);
    void _write_UnsupportedType(Str *o, FmtInfo *fmt_info, const char **s);
    void _write_f32(Str *o, FmtInfo *fmt_info, f32 *v);
    void _write_f64(Str *o, FmtInfo *fmt_info, f64 *v);
    void _write_Float(Str *o, FmtInfo *fmt_info, Float *value);
    void _write_BitVec(Str *o, FmtInfo *fmt_info, BitVec *bv);
    void _write_f32(Str *o, FmtInfo *fmt_info, f32 *v);
    void _write_f64(Str *o, FmtInfo *fmt_info, f64 *v);
    void _write_Float(Str *o, FmtInfo *fmt_info, Float *value);
    void _write_BitVec(Str *o, FmtInfo *fmt_info, BitVec *bv);
    void _write_Int(Str *o, FmtInfo *fmt_info, Int *value);
    void _write_f64(Str *o, FmtInfo *fmt_info, f64 *v);
    void _write_Float(Str *o, FmtInfo *fmt_info, Float *value);
    void _write_BitVec(Str *o, FmtInfo *fmt_info, BitVec *bv);
    void _write_Int(Str *o, FmtInfo *fmt_info, Int *value);
    void _write_Float(Str *o, FmtInfo *fmt_info, Float *value);
    void _write_BitVec(Str *o, FmtInfo *fmt_info, BitVec *bv);
    void _write_Int(Str *o, FmtInfo *fmt_info, Int *value);
    
    const char *_read_Str(const char *i, FmtInfo *fmt_info, Str *s);
    void _write_Int(Str *o, FmtInfo *fmt_info, Int *value);
    
    const char *_read_Str(const char *i, FmtInfo *fmt_info, Str *s);
    const char *_read_u8(const char *i, FmtInfo *fmt_info, u8 *v);
    const char *_read_u16(const char *i, FmtInfo *fmt_info, u16 *v);
    
    const char *_read_Str(const char *i, FmtInfo *fmt_info, Str *s);
    const char *_read_u8(const char *i, FmtInfo *fmt_info, u8 *v);
    const char *_read_u16(const char *i, FmtInfo *fmt_info, u16 *v);
    const char *_read_u32(const char *i, FmtInfo *fmt_info, u32 *v);
    const char *_read_Str(const char *i, FmtInfo *fmt_info, Str *s);
    const char *_read_u8(const char *i, FmtInfo *fmt_info, u8 *v);
    const char *_read_u16(const char *i, FmtInfo *fmt_info, u16 *v);
    const char *_read_u32(const char *i, FmtInfo *fmt_info, u32 *v);
    const char *_read_u64(const char *i, FmtInfo *fmt_info, u64 *v);
    const char *_read_u8(const char *i, FmtInfo *fmt_info, u8 *v);
    const char *_read_u16(const char *i, FmtInfo *fmt_info, u16 *v);
    const char *_read_u32(const char *i, FmtInfo *fmt_info, u32 *v);
    const char *_read_u64(const char *i, FmtInfo *fmt_info, u64 *v);
    const char *_read_i8(const char *i, FmtInfo *fmt_info, i8 *v);
    const char *_read_u16(const char *i, FmtInfo *fmt_info, u16 *v);
    const char *_read_u32(const char *i, FmtInfo *fmt_info, u32 *v);
    const char *_read_u64(const char *i, FmtInfo *fmt_info, u64 *v);
    const char *_read_i8(const char *i, FmtInfo *fmt_info, i8 *v);
    const char *_read_i16(const char *i, FmtInfo *fmt_info, i16 *v);
    const char *_read_u32(const char *i, FmtInfo *fmt_info, u32 *v);
    const char *_read_u64(const char *i, FmtInfo *fmt_info, u64 *v);
    const char *_read_i8(const char *i, FmtInfo *fmt_info, i8 *v);
    const char *_read_i16(const char *i, FmtInfo *fmt_info, i16 *v);
    const char *_read_i32(const char *i, FmtInfo *fmt_info, i32 *v);
    const char *_read_u64(const char *i, FmtInfo *fmt_info, u64 *v);
    const char *_read_i8(const char *i, FmtInfo *fmt_info, i8 *v);
    const char *_read_i16(const char *i, FmtInfo *fmt_info, i16 *v);
    const char *_read_i32(const char *i, FmtInfo *fmt_info, i32 *v);
    const char *_read_i64(const char *i, FmtInfo *fmt_info, i64 *v);
    const char *_read_i8(const char *i, FmtInfo *fmt_info, i8 *v);
    const char *_read_i16(const char *i, FmtInfo *fmt_info, i16 *v);
    const char *_read_i32(const char *i, FmtInfo *fmt_info, i32 *v);
    const char *_read_i64(const char *i, FmtInfo *fmt_info, i64 *v);
    const char *_read_Zstr(const char *i, FmtInfo *fmt_info, const char **v);
    const char *_read_i16(const char *i, FmtInfo *fmt_info, i16 *v);
    const char *_read_i32(const char *i, FmtInfo *fmt_info, i32 *v);
    const char *_read_i64(const char *i, FmtInfo *fmt_info, i64 *v);
    const char *_read_Zstr(const char *i, FmtInfo *fmt_info, const char **v);
    const char *_read_UnsupportedType(const char *i, FmtInfo *fmt_info, const char **s);
    const char *_read_i32(const char *i, FmtInfo *fmt_info, i32 *v);
    const char *_read_i64(const char *i, FmtInfo *fmt_info, i64 *v);
    const char *_read_Zstr(const char *i, FmtInfo *fmt_info, const char **v);
    const char *_read_UnsupportedType(const char *i, FmtInfo *fmt_info, const char **s);
    const char *_read_f32(const char *i, FmtInfo *fmt_info, f32 *v);
    const char *_read_i64(const char *i, FmtInfo *fmt_info, i64 *v);
    const char *_read_Zstr(const char *i, FmtInfo *fmt_info, const char **v);
    const char *_read_UnsupportedType(const char *i, FmtInfo *fmt_info, const char **s);
    const char *_read_f32(const char *i, FmtInfo *fmt_info, f32 *v);
    const char *_read_f64(const char *i, FmtInfo *fmt_info, f64 *v);
    const char *_read_Zstr(const char *i, FmtInfo *fmt_info, const char **v);
    const char *_read_UnsupportedType(const char *i, FmtInfo *fmt_info, const char **s);
    const char *_read_f32(const char *i, FmtInfo *fmt_info, f32 *v);
    const char *_read_f64(const char *i, FmtInfo *fmt_info, f64 *v);
    const char *_read_Float(const char *i, FmtInfo *fmt_info, Float *value);
    const char *_read_UnsupportedType(const char *i, FmtInfo *fmt_info, const char **s);
    const char *_read_f32(const char *i, FmtInfo *fmt_info, f32 *v);
    const char *_read_f64(const char *i, FmtInfo *fmt_info, f64 *v);
    const char *_read_Float(const char *i, FmtInfo *fmt_info, Float *value);
    const char *_read_BitVec(const char *i, FmtInfo *fmt_info, BitVec *bv);
    const char *_read_f32(const char *i, FmtInfo *fmt_info, f32 *v);
    const char *_read_f64(const char *i, FmtInfo *fmt_info, f64 *v);
    const char *_read_Float(const char *i, FmtInfo *fmt_info, Float *value);
    const char *_read_BitVec(const char *i, FmtInfo *fmt_info, BitVec *bv);
    const char *_read_Int(const char *i, FmtInfo *fmt_info, Int *value);
    const char *_read_f64(const char *i, FmtInfo *fmt_info, f64 *v);
    const char *_read_Float(const char *i, FmtInfo *fmt_info, Float *value);
    const char *_read_BitVec(const char *i, FmtInfo *fmt_info, BitVec *bv);
    const char *_read_Int(const char *i, FmtInfo *fmt_info, Int *value);
    const char *_read_Float(const char *i, FmtInfo *fmt_info, Float *value);
    const char *_read_BitVec(const char *i, FmtInfo *fmt_info, BitVec *bv);
    const char *_read_Int(const char *i, FmtInfo *fmt_info, Int *value);
    
    #endif // MISRA_STD_IO
Last updated on