| 541 * @param ptr2 pointer two |
541 * @param ptr2 pointer two |
| 542 * @param n (@c size_t*) a pointer to the length |
542 * @param n (@c size_t*) a pointer to the length |
| 543 * @return the result of @c memcmp() |
543 * @return the result of @c memcmp() |
| 544 */ |
544 */ |
| 545 cx_attr_nonnull cx_attr_nodiscard |
545 cx_attr_nonnull cx_attr_nodiscard |
| 546 CX_EXPORT int cx_acmp_memcmp(const void *ptr1, const void *ptr2, void *n); |
546 CX_EXPORT int cx_ccmp_memcmp(const void *ptr1, const void *ptr2, void *n); |
| 547 |
547 |
| 548 /** Wraps a compare function for cx_acmp_wrap. */ |
548 /** Wraps a compare function for cx_ccmp_wrap. */ |
| 549 typedef struct { |
549 typedef struct { |
| 550 /** The wrapped compare function */ |
550 /** The wrapped compare function */ |
| 551 cx_compare_func cmp; |
551 cx_compare_func cmp; |
| 552 } cx_compare_func_wrapper; |
552 } cx_compare_func_wrapper; |
| 553 |
553 |
| 565 * @param cmp_wrapper a pointer to a @c cx_compare_func_wrapper |
565 * @param cmp_wrapper a pointer to a @c cx_compare_func_wrapper |
| 566 * @return the result of the invoked compare function |
566 * @return the result of the invoked compare function |
| 567 * @see cx_compare_func_wrapper_s |
567 * @see cx_compare_func_wrapper_s |
| 568 */ |
568 */ |
| 569 cx_attr_nonnull cx_attr_nodiscard |
569 cx_attr_nonnull cx_attr_nodiscard |
| 570 CX_EXPORT int cx_acmp_wrap(const void *ptr1, const void *ptr2, void* cmp_wrapper); |
570 CX_EXPORT int cx_ccmp_wrap(const void *ptr1, const void *ptr2, void* cmp_wrapper); |
| 571 |
571 |
| 572 #ifdef __cplusplus |
572 #ifdef __cplusplus |
| 573 } // extern "C" |
573 } // extern "C" |
| 574 #endif |
574 #endif |
| 575 |
575 |