New array functions.

* cfw_array_contains()
 * cfw_array_contains_ptr()
 * cfw_array_find()
 * cfw_array_find_ptr()
This commit is contained in:
Jonathan Schleifer 2012-04-08 20:45:41 +02:00
parent d6bbd7ba65
commit ff54f0e5cd
2 changed files with 53 additions and 0 deletions

View file

@ -25,6 +25,7 @@
*/
#include <stdlib.h>
#include <stdint.h>
#include "cfwobject.h"
#include "cfwarray.h"
@ -203,6 +204,54 @@ cfw_array_pop(CFWArray *array)
return true;
}
bool
cfw_array_contains(CFWArray *array, void *ptr)
{
size_t i;
for (i = 0; i < array->size; i++)
if (cfw_equal(array->data[i], ptr))
return true;
return false;
}
bool
cfw_array_contains_ptr(CFWArray *array, void *ptr)
{
size_t i;
for (i = 0; i < array->size; i++)
if (array->data[i] == ptr)
return true;
return false;
}
size_t
cfw_array_find(CFWArray *array, void *ptr)
{
size_t i;
for (i = 0; i < array->size; i++)
if (cfw_equal(array->data[i], ptr))
return i;
return SIZE_MAX;
}
size_t
cfw_array_find_ptr(CFWArray *array, void *ptr)
{
size_t i;
for (i = 0; i < array->size; i++)
if (array->data[i] == ptr)
return i;
return SIZE_MAX;
}
static CFWClass class = {
.name = "CFWArray",
.size = sizeof(CFWArray),