#include "xarray.h"
/* local prototypes */
-XSTATIC XArray * xarray_New (unsigned int);
+XArray * xarray_New (unsigned int);
#define XARRAY_ASSERT_NOT_NULL(xarray) \
if (xarray->array == NULL) return XARRAY_ENOMEM; \
}
-XSTATIC XArray * xarray_New (unsigned int initial_size_hint)
+XArray * xarray_New (unsigned int initial_size_hint)
{
XArray *new_xarray = NULL;
void *inner_array;
new_xarray->array = inner_array;
- /* Make a dummy reference to other functions, so that we don't get
- * warnings about unused functions from the compiler. Ahem :) */
- while (0)
- {
- void *dummy_reference;
-
- dummy_reference = xarray_AddObject;
- dummy_reference = xarray_InsertObject;
- dummy_reference = xarray_RemoveLastObject;
- dummy_reference = xarray_RemoveObject;
- dummy_reference = xarray_RemoveObjects;
- dummy_reference = xarray_RemoveObjectsAfter;
- dummy_reference = xarray_ReplaceObject;
-
- dummy_reference = xarray_ObjectAtIndex;
- dummy_reference = xarray_Count;
- }
-
return new_xarray;
}
-XSTATIC int xarray_ObjectAtIndex (XArray *xarray, unsigned int index,
+int xarray_ObjectAtIndex (XArray *xarray, unsigned int index,
void **out_object)
{
XARRAY_ASSERT_NOT_NULL (xarray);
return XARRAY_SUCCESS;
}
-XSTATIC int xarray_AddObject (XArray *xarray, void *object)
+int xarray_AddObject (XArray *xarray, void *object)
{
XARRAY_ASSERT_NOT_NULL (xarray);
return XARRAY_SUCCESS;
}
-XSTATIC int xarray_InsertObject (XArray *xarray, void *object,
+int xarray_InsertObject (XArray *xarray, void *object,
unsigned int at_index)
{
XARRAY_ASSERT_NOT_NULL (xarray);
return XARRAY_SUCCESS;
}
-XSTATIC int xarray_RemoveLastObject (XArray *xarray)
+int xarray_RemoveLastObject (XArray *xarray)
{
XARRAY_ASSERT_NOT_NULL (xarray);
return XARRAY_SUCCESS;
}
-XSTATIC int xarray_RemoveObject (XArray *xarray, unsigned int at_index)
+int xarray_RemoveObject (XArray *xarray, unsigned int at_index)
{
XARRAY_ASSERT_NOT_NULL (xarray);
XARRAY_BOUNDS_CHECK (xarray, at_index);
return XARRAY_SUCCESS;
}
-XSTATIC int xarray_RemoveObjects (XArray *xarray, unsigned int at_index,
+int xarray_RemoveObjects (XArray *xarray, unsigned int at_index,
int count)
{
int i;
return XARRAY_SUCCESS;
}
-XSTATIC int xarray_RemoveObjectsAfter (XArray *xarray, unsigned int index)
+int xarray_RemoveObjectsAfter (XArray *xarray, unsigned int index)
{
XARRAY_ASSERT_NOT_NULL (xarray);
XARRAY_BOUNDS_CHECK (xarray, index);
return XARRAY_SUCCESS;
}
-XSTATIC int xarray_ReplaceObject (XArray *xarray, unsigned int index,
+int xarray_ReplaceObject (XArray *xarray, unsigned int index,
void *new_object)
{
XARRAY_ASSERT_NOT_NULL (xarray);
return XARRAY_SUCCESS;
}
-XSTATIC int xarray_Count (XArray *xarray, unsigned int *out_count)
+int xarray_Count (XArray *xarray, unsigned int *out_count)
{
XARRAY_ASSERT_NOT_NULL (xarray);
#ifndef __XARRAY_H__
#define __XARRAY_H__
-/* define this to 'static' for static linkage */
-#define XSTATIC
-
#define XARRAY_DEFAULT_SIZE 69
-#define xarray_malloc malloc
/* Error codes */
enum xarray_errors
XArray;
/* Mutable methods */
-XSTATIC int xarray_AddObject (XArray *xarray, void *object);
-XSTATIC int xarray_InsertObject (XArray *xarray, void *object,
+int xarray_AddObject (XArray *xarray, void *object);
+int xarray_InsertObject (XArray *xarray, void *object,
unsigned int at_index);
-XSTATIC int xarray_RemoveLastObject (XArray *xarray);
-XSTATIC int xarray_RemoveObject (XArray *xarray, unsigned int at_index);
-XSTATIC int xarray_RemoveObjects (XArray *xarray, unsigned int at_index,
+int xarray_RemoveLastObject (XArray *xarray);
+int xarray_RemoveObject (XArray *xarray, unsigned int at_index);
+int xarray_RemoveObjects (XArray *xarray, unsigned int at_index,
int count);
-XSTATIC int xarray_RemoveObjectsAfter (XArray *xarray, unsigned int index);
-XSTATIC int xarray_ReplaceObject (XArray *xarray, unsigned int index,
+int xarray_RemoveObjectsAfter (XArray *xarray, unsigned int index);
+int xarray_ReplaceObject (XArray *xarray, unsigned int index,
void *new_object);
/* Immutable methods */
-XSTATIC XArray * xarray_New ();
-XSTATIC int xarray_ObjectAtIndex (XArray *xarray, unsigned int index,
+XArray * xarray_New ();
+int xarray_ObjectAtIndex (XArray *xarray, unsigned int index,
void **out_object);
-XSTATIC int xarray_Count (XArray *xarray, unsigned int *out_count);
+int xarray_Count (XArray *xarray, unsigned int *out_count);
#endif /* __XARRAY_H__ */