-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy patharrayUtils.h
More file actions
22 lines (22 loc) · 1.01 KB
/
arrayUtils.h
File metadata and controls
22 lines (22 loc) · 1.01 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <stdio.h>
typedef struct{
void *base;
int typeSize;
int length;
}ARRAY_UTILS;
ARRAY_UTILS create(int typeSize,int length);
int areEqual(ARRAY_UTILS array1,ARRAY_UTILS array2);
ARRAY_UTILS resize(ARRAY_UTILS sampleUtils,int length);
void dispose(ARRAY_UTILS utils);
int findIndex(ARRAY_UTILS utils,void* element);
typedef int(MatchFunc) (void *,void *);
typedef void (ConvertFunc)(void*, void*, void*);
typedef void (OperationFunc)(void*, void*);
typedef void (ReducerFunc)(void*, void*, void*);
void* findFirst(ARRAY_UTILS util, MatchFunc* match, void* hint);
int count(ARRAY_UTILS util, MatchFunc* match, void* hint);
void* findLast(ARRAY_UTILS util, MatchFunc* match, void* hint);
int filter(ARRAY_UTILS util, MatchFunc* match, void* hint, void** destination, int maxItems );
void map(ARRAY_UTILS source, ARRAY_UTILS destination, ConvertFunc* convert, void* hint);
void forEach(ARRAY_UTILS util, OperationFunc* operation, void* hint);
void* reduce(ARRAY_UTILS util, ReducerFunc* reducer, void* hint, void* intialValue);