Skip to content
VecMustInsertRangeR

VecMustInsertRangeR

Description

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

Success

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

Failure

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

Usage example (Cross-references)

Usage examples (Cross-references)
        do {                                                                                                               \
            if (!VecInsertRangeR((v), (varr), (idx), (count))) {                                                           \
                LOG_FATAL("VecMustInsertRangeR failed");                                                                   \
            }                                                                                                              \
        } while (0)
    #define StrMustInsertMany(...) OVERLOAD(StrMustInsertMany, __VA_ARGS__)
    #define StrMustInsertMany_3(str, zstr, idx)                                                                        \
        _Generic((zstr), Zstr: VecMustInsertRangeR((str), (Zstr)(zstr), (idx), ZstrLen((Zstr)(zstr))), char *: VecMustInsertRangeR((str), (Zstr)(zstr), (idx), ZstrLen((Zstr)(zstr))))
    #define StrMustInsertMany_4(str, cstr, cstr_len, idx)                                                              \
        _Generic((cstr), Zstr: VecMustInsertRangeR((str), (Zstr)(cstr), (idx), (cstr_len)), char *: VecMustInsertRangeR((str), (Zstr)(cstr), (idx), (cstr_len)))
        _Generic((zstr), Zstr: VecMustInsertRangeR((str), (Zstr)(zstr), (idx), ZstrLen((Zstr)(zstr))), char *: VecMustInsertRangeR((str), (Zstr)(zstr), (idx), ZstrLen((Zstr)(zstr))))
    #define StrMustInsertMany_4(str, cstr, cstr_len, idx)                                                              \
        _Generic((cstr), Zstr: VecMustInsertRangeR((str), (Zstr)(cstr), (idx), (cstr_len)), char *: VecMustInsertRangeR((str), (Zstr)(cstr), (idx), (cstr_len)))
    
    ///
    /// TAGS: Str, Insert, Range, RValue, Must, Abort
    ///
    #define StrMustInsertRangeR(str, varr, idx, count) VecMustInsertRangeR((str), (varr), (idx), (count))
    
    ///
Last updated on