forked from enlightenment/efl
parent
d299b79375
commit
e360e1b2b9
|
@ -32,6 +32,77 @@
|
|||
#include "eina_inline_array.x"
|
||||
#include "eina_private.h"
|
||||
|
||||
/*============================================================================*
|
||||
* Local *
|
||||
*============================================================================*/
|
||||
typedef struct _Eina_Iterator_Array Eina_Iterator_Array;
|
||||
struct _Eina_Iterator_Array
|
||||
{
|
||||
Eina_Iterator iterator;
|
||||
|
||||
const Eina_Array *array;
|
||||
unsigned int index;
|
||||
};
|
||||
|
||||
typedef struct _Eina_Accessor_Array Eina_Accessor_Array;
|
||||
struct _Eina_Accessor_Array
|
||||
{
|
||||
Eina_Accessor accessor;
|
||||
|
||||
const Eina_Array *array;
|
||||
};
|
||||
|
||||
static Eina_Bool
|
||||
eina_array_iterator_next(Eina_Iterator_Array *it, void **data)
|
||||
{
|
||||
if (!(it->index < eina_array_count(it->array)))
|
||||
return EINA_FALSE;
|
||||
if (data)
|
||||
*data = eina_array_get(it->array, it->index);
|
||||
it->index++;
|
||||
return EINA_TRUE;
|
||||
}
|
||||
|
||||
static Eina_Array *
|
||||
eina_array_iterator_get_container(Eina_Iterator_Array *it)
|
||||
{
|
||||
return (Eina_Array *) it->array;
|
||||
}
|
||||
|
||||
static void
|
||||
eina_array_iterator_free(Eina_Iterator_Array *it)
|
||||
{
|
||||
free(it);
|
||||
}
|
||||
|
||||
static Eina_Bool
|
||||
eina_array_accessor_get_at(Eina_Accessor_Array *it, unsigned int index, void **data)
|
||||
{
|
||||
if (!(index < eina_array_count(it->array)))
|
||||
return EINA_FALSE;
|
||||
if (data)
|
||||
*data = eina_array_get(it->array, index);
|
||||
return EINA_TRUE;
|
||||
}
|
||||
|
||||
static Eina_Array *
|
||||
eina_array_accessor_get_container(Eina_Accessor_Array *it)
|
||||
{
|
||||
return (Eina_Array *) it->array;
|
||||
}
|
||||
|
||||
static void
|
||||
eina_array_accessor_free(Eina_Accessor_Array *it)
|
||||
{
|
||||
free(it);
|
||||
}
|
||||
|
||||
/*============================================================================*
|
||||
* Global *
|
||||
*============================================================================*/
|
||||
/*============================================================================*
|
||||
* API *
|
||||
*============================================================================*/
|
||||
EAPI int
|
||||
eina_array_init(void)
|
||||
{
|
||||
|
@ -93,8 +164,6 @@ eina_array_free(Eina_Array *array)
|
|||
free(array);
|
||||
}
|
||||
|
||||
#include <stdio.h>
|
||||
|
||||
EAPI void
|
||||
eina_array_remove(Eina_Array *array, Eina_Bool (*keep)(void *data, void *gdata), void *gdata)
|
||||
{
|
||||
|
@ -172,38 +241,6 @@ eina_array_remove(Eina_Array *array, Eina_Bool (*keep)(void *data, void *gdata),
|
|||
array->count = total;
|
||||
}
|
||||
|
||||
typedef struct _Eina_Iterator_Array Eina_Iterator_Array;
|
||||
struct _Eina_Iterator_Array
|
||||
{
|
||||
Eina_Iterator iterator;
|
||||
|
||||
const Eina_Array *array;
|
||||
unsigned int index;
|
||||
};
|
||||
|
||||
static void *
|
||||
eina_array_iterator_next(Eina_Iterator_Array *it, void **data)
|
||||
{
|
||||
if (!(it->index < eina_array_count(it->array)))
|
||||
return EINA_FALSE;
|
||||
if (data)
|
||||
*data = eina_array_get(it->array, it->index);
|
||||
it->index++;
|
||||
return EINA_TRUE;
|
||||
}
|
||||
|
||||
static Eina_Array *
|
||||
eina_array_iterator_get_container(Eina_Iterator_Array *it)
|
||||
{
|
||||
return (Eina_Array *) it->array;
|
||||
}
|
||||
|
||||
static void
|
||||
eina_array_iterator_free(Eina_Iterator_Array *it)
|
||||
{
|
||||
free(it);
|
||||
}
|
||||
|
||||
EAPI Eina_Iterator *
|
||||
eina_array_iterator_new(const Eina_Array *array)
|
||||
{
|
||||
|
@ -228,36 +265,6 @@ eina_array_iterator_new(const Eina_Array *array)
|
|||
return &it->iterator;
|
||||
}
|
||||
|
||||
typedef struct _Eina_Accessor_Array Eina_Accessor_Array;
|
||||
struct _Eina_Accessor_Array
|
||||
{
|
||||
Eina_Accessor accessor;
|
||||
|
||||
const Eina_Array *array;
|
||||
};
|
||||
|
||||
static Eina_Bool
|
||||
eina_array_accessor_get_at(Eina_Accessor_Array *it, unsigned int index, void **data)
|
||||
{
|
||||
if (!(index < eina_array_count(it->array)))
|
||||
return EINA_FALSE;
|
||||
if (data)
|
||||
*data = eina_array_get(it->array, index);
|
||||
return EINA_TRUE;
|
||||
}
|
||||
|
||||
static Eina_Array *
|
||||
eina_array_accessor_get_container(Eina_Accessor_Array *it)
|
||||
{
|
||||
return (Eina_Array *) it->array;
|
||||
}
|
||||
|
||||
static void
|
||||
eina_array_accessor_free(Eina_Accessor_Array *it)
|
||||
{
|
||||
free(it);
|
||||
}
|
||||
|
||||
EAPI Eina_Accessor *
|
||||
eina_array_accessor_new(const Eina_Array *array)
|
||||
{
|
||||
|
|
|
@ -29,7 +29,7 @@
|
|||
#include "eina_private.h"
|
||||
|
||||
/*============================================================================*
|
||||
* Local *
|
||||
* Local *
|
||||
*============================================================================*/
|
||||
typedef struct _Eina_Hash_El Eina_Hash_El;
|
||||
typedef struct _Eina_Hash_Foreach Eina_Hash_Foreach;
|
||||
|
|
|
@ -39,7 +39,7 @@ _eina_test_inlist_build(int i)
|
|||
|
||||
return tmp;
|
||||
}
|
||||
#include <stdio.h>
|
||||
|
||||
START_TEST(eina_inlist_simple)
|
||||
{
|
||||
Eina_Test_Inlist *lst = NULL;
|
||||
|
|
Loading…
Reference in New Issue