[numerics.c] (original) (raw)

29.11.1 Header <stdckdint.h> synopsis [stdckdint.h.syn]

#define __STDC_VERSION_STDCKDINT_H__ 202311L template<class type1, class type2, class type3> bool ckd_add(type1* result, type2 a, type3 b);template<class type1, class type2, class type3> bool ckd_sub(type1* result, type2 a, type3 b);template<class type1, class type2, class type3> bool ckd_mul(type1* result, type2 a, type3 b);

See also: ISO/IEC 9899:2024, 7.20

29.11.2 Checked integer operations [numerics.c.ckdint]

template<class type1, class type2, class type3> bool ckd_add(type1* result, type2 a, type3 b);template<class type1, class type2, class type3> bool ckd_sub(type1* result, type2 a, type3 b);template<class type1, class type2, class type3> bool ckd_mul(type1* result, type2 a, type3 b);

Mandates: Each of the types type1, type2, and type3 is a cv-unqualified signed or unsigned integer type.

Remarks: Each function template has the same semantics as the corresponding type-generic macro with the same name specified in ISO/IEC 9899:2024, 7.20.