| 974 * @param dst the destination list |
974 * @param dst the destination list |
| 975 * @param src the source list |
975 * @param src the source list |
| 976 * @param clone_func the clone function for the elements |
976 * @param clone_func the clone function for the elements |
| 977 * @param clone_allocator the allocator that is passed to the clone function |
977 * @param clone_allocator the allocator that is passed to the clone function |
| 978 * @param data optional additional data that is passed to the clone function |
978 * @param data optional additional data that is passed to the clone function |
| 979 * @return the number of elements that have been successfully cloned |
979 * @retval zero when all elements were successfully cloned |
| |
980 * @retval non-zero when an allocation error occurred |
| 980 */ |
981 */ |
| 981 cx_attr_nonnull_arg(1, 2, 3) |
982 cx_attr_nonnull_arg(1, 2, 3) |
| 982 CX_EXPORT size_t cxListClone(CxList *dst, const CxList *src, |
983 CX_EXPORT int cxListClone(CxList *dst, const CxList *src, |
| 983 cx_clone_func clone_func, const CxAllocator *clone_allocator, void *data); |
984 cx_clone_func clone_func, const CxAllocator *clone_allocator, void *data); |
| 984 |
985 |
| 985 #ifdef __cplusplus |
986 #ifdef __cplusplus |
| 986 } // extern "C" |
987 } // extern "C" |
| 987 #endif |
988 #endif |