#ifndef UCX_COMPARE_H
#define UCX_COMPARE_H
#include "common.h"
#ifdef __cplusplus
extern "C" {
#endif
typedef int (*cx_compare_func)(
const void *left,
const void *right);
cx_attr_nonnull cx_attr_nodiscard
CX_EXPORT int cx_cmp_int(
const void *i1,
const void *i2);
cx_attr_nodiscard
CX_EXPORT int cx_vcmp_int(
int i1,
int i2);
cx_attr_nonnull cx_attr_nodiscard
CX_EXPORT int cx_cmp_longint(
const void *i1,
const void *i2);
cx_attr_nodiscard
CX_EXPORT int cx_vcmp_longint(
long int i1,
long int i2);
cx_attr_nonnull cx_attr_nodiscard
CX_EXPORT int cx_cmp_longlong(
const void *i1,
const void *i2);
cx_attr_nodiscard
CX_EXPORT int cx_vcmp_longlong(
long long int i1,
long long int i2);
cx_attr_nonnull cx_attr_nodiscard
CX_EXPORT int cx_cmp_int16(
const void *i1,
const void *i2);
cx_attr_nodiscard
CX_EXPORT int cx_vcmp_int16(
int16_t i1,
int16_t i2);
cx_attr_nonnull cx_attr_nodiscard
CX_EXPORT int cx_cmp_int32(
const void *i1,
const void *i2);
cx_attr_nodiscard
CX_EXPORT int cx_vcmp_int32(
int32_t i1,
int32_t i2);
cx_attr_nonnull cx_attr_nodiscard
CX_EXPORT int cx_cmp_int64(
const void *i1,
const void *i2);
cx_attr_nodiscard
CX_EXPORT int cx_vcmp_int64(
int64_t i1,
int64_t i2);
cx_attr_nonnull cx_attr_nodiscard
CX_EXPORT int cx_cmp_uint(
const void *i1,
const void *i2);
cx_attr_nodiscard
CX_EXPORT int cx_vcmp_uint(
unsigned int i1,
unsigned int i2);
cx_attr_nonnull cx_attr_nodiscard
CX_EXPORT int cx_cmp_ulongint(
const void *i1,
const void *i2);
cx_attr_nodiscard
CX_EXPORT int cx_vcmp_ulongint(
unsigned long int i1,
unsigned long int i2);
cx_attr_nonnull cx_attr_nodiscard
CX_EXPORT int cx_cmp_ulonglong(
const void *i1,
const void *i2);
cx_attr_nodiscard
CX_EXPORT int cx_vcmp_ulonglong(
unsigned long long int i1,
unsigned long long int i2);
cx_attr_nonnull cx_attr_nodiscard
CX_EXPORT int cx_cmp_uint16(
const void *i1,
const void *i2);
cx_attr_nodiscard
CX_EXPORT int cx_vcmp_uint16(
uint16_t i1,
uint16_t i2);
cx_attr_nonnull cx_attr_nodiscard
CX_EXPORT int cx_cmp_uint32(
const void *i1,
const void *i2);
cx_attr_nodiscard
CX_EXPORT int cx_vcmp_uint32(
uint32_t i1,
uint32_t i2);
cx_attr_nonnull cx_attr_nodiscard
CX_EXPORT int cx_cmp_uint64(
const void *i1,
const void *i2);
cx_attr_nodiscard
CX_EXPORT int cx_vcmp_uint64(
uint64_t i1,
uint64_t i2);
cx_attr_nonnull cx_attr_nodiscard
CX_EXPORT int cx_cmp_size(
const void *i1,
const void *i2);
cx_attr_nodiscard
CX_EXPORT int cx_vcmp_size(
size_t i1,
size_t i2);
cx_attr_nonnull cx_attr_nodiscard
CX_EXPORT int cx_cmp_float(
const void *f1,
const void *f2);
cx_attr_nodiscard
CX_EXPORT int cx_vcmp_float(
float f1,
float f2);
cx_attr_nonnull cx_attr_nodiscard
CX_EXPORT int cx_cmp_double(
const void *d1,
const void *d2);
cx_attr_nodiscard
CX_EXPORT int cx_vcmp_double(
double d1,
double d2);
cx_attr_nonnull cx_attr_nodiscard
CX_EXPORT int cx_cmp_intptr(
const void *ptr1,
const void *ptr2);
cx_attr_nodiscard
CX_EXPORT int cx_vcmp_intptr(
intptr_t ptr1,
intptr_t ptr2);
cx_attr_nonnull cx_attr_nodiscard
CX_EXPORT int cx_cmp_uintptr(
const void *ptr1,
const void *ptr2);
cx_attr_nodiscard
CX_EXPORT int cx_vcmp_uintptr(
uintptr_t ptr1,
uintptr_t ptr2);
cx_attr_nonnull cx_attr_nodiscard
CX_EXPORT int cx_cmp_ptr(
const void *ptr1,
const void *ptr2);
#ifdef __cplusplus
}
#endif
#endif