72 lines
931 B
C
72 lines
931 B
C
|
|
#ifndef _array
|
||
|
|
|
||
|
|
#define _array
|
||
|
|
|
||
|
|
|
||
|
|
// Macros
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
#include "stdlib.h"
|
||
|
|
|
||
|
|
extern char * __ClassNames[];
|
||
|
|
|
||
|
|
|
||
|
|
// Includes
|
||
|
|
|
||
|
|
#include <text.h>
|
||
|
|
|
||
|
|
#include <char.h>
|
||
|
|
|
||
|
|
#include <stdbool.h>
|
||
|
|
|
||
|
|
#include <stdlib.h>
|
||
|
|
|
||
|
|
|
||
|
|
typedef struct array{
|
||
|
|
|
||
|
|
int capacity;
|
||
|
|
|
||
|
|
int total;
|
||
|
|
|
||
|
|
void * * items;
|
||
|
|
|
||
|
|
|
||
|
|
} array;
|
||
|
|
|
||
|
|
int array_length( array * this );
|
||
|
|
|
||
|
|
void * * array_data( array * this );
|
||
|
|
|
||
|
|
void * array_get( array * this, int index );
|
||
|
|
|
||
|
|
void array_set( array * this, int index, void * item );
|
||
|
|
|
||
|
|
void array_resize( array * this, int capacity );
|
||
|
|
|
||
|
|
void array_add( array * this, void * item );
|
||
|
|
|
||
|
|
char * array_join( array * this, char * separator );
|
||
|
|
|
||
|
|
void array_delete( array * this, int index );
|
||
|
|
|
||
|
|
int array_array_push( array * this, void * item );
|
||
|
|
|
||
|
|
void array_unshift( array * this, void * item );
|
||
|
|
|
||
|
|
void * array_pop( array * this );
|
||
|
|
|
||
|
|
bool array_includes( array * this, char * value );
|
||
|
|
|
||
|
|
array array_new( );
|
||
|
|
|
||
|
|
array * array_newPointer( );
|
||
|
|
|
||
|
|
#endif
|
||
|
|
|
||
|
|
|
||
|
|
typedef struct array array;
|
||
|
|
|
||
|
|
|
||
|
|
|