Skip to content
VecMustInsertRangeFastR

VecMustInsertRangeFastR

Description

Aborting variant of VecInsertRangeFastR. See that macro for parameter semantics and success-state effects.

Success

Returns to the caller. The underlying VecInsertRangeFastR call succeeded; see VecInsertRangeFastR for the post-state.

Failure

Does not return - aborts via LOG_FATAL / Abort when the underlying VecInsertRangeFastR call returns false.

Usage example (Cross-references)

Usage examples (Cross-references)
        do {                                                                                                               \
            if (!VecInsertRangeFastR((v), (varr), (idx), (count))) {                                                       \
                LOG_FATAL("VecMustInsertRangeFastR failed");                                                               \
            }                                                                                                              \
        } while (0)
    #define StrMustInsertManyFast(...) OVERLOAD(StrMustInsertManyFast, __VA_ARGS__)
    #define StrMustInsertManyFast_3(str, zstr, idx)                                                                    \
        _Generic((zstr), Zstr: VecMustInsertRangeFastR((str), (Zstr)(zstr), (idx), ZstrLen((Zstr)(zstr))), char *: VecMustInsertRangeFastR((str), (Zstr)(zstr), (idx), ZstrLen((Zstr)(zstr))))
    #define StrMustInsertManyFast_4(str, cstr, cstr_len, idx)                                                          \
        _Generic((cstr), Zstr: VecMustInsertRangeFastR((str), (Zstr)(cstr), (idx), (cstr_len)), char *: VecMustInsertRangeFastR((str), (Zstr)(cstr), (idx), (cstr_len)))
        _Generic((zstr), Zstr: VecMustInsertRangeFastR((str), (Zstr)(zstr), (idx), ZstrLen((Zstr)(zstr))), char *: VecMustInsertRangeFastR((str), (Zstr)(zstr), (idx), ZstrLen((Zstr)(zstr))))
    #define StrMustInsertManyFast_4(str, cstr, cstr_len, idx)                                                          \
        _Generic((cstr), Zstr: VecMustInsertRangeFastR((str), (Zstr)(cstr), (idx), (cstr_len)), char *: VecMustInsertRangeFastR((str), (Zstr)(cstr), (idx), (cstr_len)))
    
    // ---------------------------------------------------------------------------
    /// TAGS: Str, Insert, Range, RValue, Fast, Must, Abort
    ///
    #define StrMustInsertRangeFastR(str, varr, idx, count) VecMustInsertRangeFastR((str), (varr), (idx), (count))
    
    ///
Last updated on