forked from enlightenment/efl
* add array doc
* eina_array_push() returns now a bool * fix compilation SVN revision: 35871
This commit is contained in:
parent
557107790a
commit
b73180cd01
|
@ -278,7 +278,7 @@ EXTRACT_PRIVATE = NO
|
||||||
# If the EXTRACT_STATIC tag is set to YES all static members of a file
|
# If the EXTRACT_STATIC tag is set to YES all static members of a file
|
||||||
# will be included in the documentation.
|
# will be included in the documentation.
|
||||||
|
|
||||||
EXTRACT_STATIC = NO
|
EXTRACT_STATIC = YES
|
||||||
|
|
||||||
# If the EXTRACT_LOCAL_CLASSES tag is set to YES classes (and structs)
|
# If the EXTRACT_LOCAL_CLASSES tag is set to YES classes (and structs)
|
||||||
# defined locally in source files will be included in the documentation.
|
# defined locally in source files will be included in the documentation.
|
||||||
|
@ -367,7 +367,7 @@ INLINE_INFO = YES
|
||||||
# alphabetically by member name. If set to NO the members will appear in
|
# alphabetically by member name. If set to NO the members will appear in
|
||||||
# declaration order.
|
# declaration order.
|
||||||
|
|
||||||
SORT_MEMBER_DOCS = YES
|
SORT_MEMBER_DOCS = NO
|
||||||
|
|
||||||
# If the SORT_BRIEF_DOCS tag is set to YES then doxygen will sort the
|
# If the SORT_BRIEF_DOCS tag is set to YES then doxygen will sort the
|
||||||
# brief documentation of file, namespace and class members alphabetically
|
# brief documentation of file, namespace and class members alphabetically
|
||||||
|
@ -530,7 +530,7 @@ INPUT_ENCODING = UTF-8
|
||||||
# *.c *.cc *.cxx *.cpp *.c++ *.java *.ii *.ixx *.ipp *.i++ *.inl *.h *.hh *.hxx
|
# *.c *.cc *.cxx *.cpp *.c++ *.java *.ii *.ixx *.ipp *.i++ *.inl *.h *.hh *.hxx
|
||||||
# *.hpp *.h++ *.idl *.odl *.cs *.php *.php3 *.inc *.m *.mm *.py *.f90
|
# *.hpp *.h++ *.idl *.odl *.cs *.php *.php3 *.inc *.m *.mm *.py *.f90
|
||||||
|
|
||||||
FILE_PATTERNS =
|
FILE_PATTERNS = *.c *.h *.x
|
||||||
|
|
||||||
# The RECURSIVE tag can be used to turn specify whether or not subdirectories
|
# The RECURSIVE tag can be used to turn specify whether or not subdirectories
|
||||||
# should be searched for input files as well. Possible values are YES and NO.
|
# should be searched for input files as well. Possible values are YES and NO.
|
||||||
|
|
|
@ -22,38 +22,58 @@
|
||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
|
|
||||||
#include "eina_types.h"
|
#include "eina_types.h"
|
||||||
|
#include "eina_error.h"
|
||||||
#include "eina_iterator.h"
|
#include "eina_iterator.h"
|
||||||
#include "eina_accessor.h"
|
#include "eina_accessor.h"
|
||||||
|
|
||||||
typedef struct _Eina_Array Eina_Array; /**< A generic vector */
|
/**
|
||||||
|
* @defgroup Eina_Array_Group Array Functions
|
||||||
|
*
|
||||||
|
* @{
|
||||||
|
*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @typedef Eina_Array
|
||||||
|
* Type for generic vector.
|
||||||
|
*/
|
||||||
|
typedef struct _Eina_Array Eina_Array;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @typedef Eina_Array_Iterator
|
||||||
|
* Type for an iterator oon arrays.
|
||||||
|
*/
|
||||||
typedef void **Eina_Array_Iterator;
|
typedef void **Eina_Array_Iterator;
|
||||||
|
|
||||||
struct _Eina_Array /** An array of data */
|
/**
|
||||||
|
* @struct _Eina_Array
|
||||||
|
* Type for an array of data.
|
||||||
|
*/
|
||||||
|
struct _Eina_Array
|
||||||
{
|
{
|
||||||
void **data; /**< Pointer to a vector of pointer to payload */
|
void **data; /**< Pointer to a vector of pointer to payload */
|
||||||
unsigned int total; /**< Total number of slot in the vector */
|
unsigned int total; /**< Total number of slot in the vector */
|
||||||
unsigned int count; /**< Number of activ slot in the vector */
|
unsigned int count; /**< Number of activ slot in the vector */
|
||||||
unsigned int step; /**< How much must we grow the vector When it is full */
|
unsigned int step; /**< How much must we grow the vector when it is full */
|
||||||
};
|
};
|
||||||
|
|
||||||
EAPI int eina_array_init (void);
|
EAPI int eina_array_init (void);
|
||||||
EAPI int eina_array_shutdown (void);
|
EAPI int eina_array_shutdown (void);
|
||||||
|
|
||||||
EAPI Eina_Array *eina_array_new (unsigned int step);
|
EAPI Eina_Array *eina_array_new (unsigned int step);
|
||||||
EAPI void eina_array_setup (Eina_Array *array, unsigned int step);
|
|
||||||
EAPI void eina_array_free (Eina_Array *array);
|
EAPI void eina_array_free (Eina_Array *array);
|
||||||
|
EAPI void eina_array_step_set (Eina_Array *array, unsigned int step);
|
||||||
EAPI void eina_array_clean (Eina_Array *array);
|
EAPI void eina_array_clean (Eina_Array *array);
|
||||||
EAPI void eina_array_flush (Eina_Array *array);
|
EAPI void eina_array_flush (Eina_Array *array);
|
||||||
EAPI void eina_array_remove (Eina_Array *array, Eina_Bool (*keep)(void *data, void *gdata), void *gdata);
|
EAPI void eina_array_remove (Eina_Array *array, Eina_Bool (*keep)(void *data, void *gdata), void *gdata);
|
||||||
|
|
||||||
|
static inline Eina_Bool eina_array_push (Eina_Array *array, const void *data);
|
||||||
|
static inline void *eina_array_pop (Eina_Array *array);
|
||||||
|
static inline void *eina_array_get (const Eina_Array *array, unsigned int index);
|
||||||
|
static inline unsigned int eina_array_count (const Eina_Array *array);
|
||||||
|
|
||||||
EAPI Eina_Iterator *eina_array_iterator_new (const Eina_Array *array);
|
EAPI Eina_Iterator *eina_array_iterator_new (const Eina_Array *array);
|
||||||
EAPI Eina_Accessor *eina_array_accessor_new (const Eina_Array *array);
|
EAPI Eina_Accessor *eina_array_accessor_new (const Eina_Array *array);
|
||||||
|
|
||||||
static inline void * eina_array_get (const Eina_Array *array, unsigned int index);
|
|
||||||
static inline void eina_array_push (Eina_Array *array, const void *data);
|
|
||||||
static inline void * eina_array_pop (Eina_Array *array);
|
|
||||||
static inline unsigned int eina_array_count (const Eina_Array *array);
|
|
||||||
|
|
||||||
#define EINA_ARRAY_ITER_NEXT(array, index, item, iterator) \
|
#define EINA_ARRAY_ITER_NEXT(array, index, item, iterator) \
|
||||||
for (index = 0, iterator = (array)->data, item = iterator != NULL ? *(iterator) : NULL; \
|
for (index = 0, iterator = (array)->data, item = iterator != NULL ? *(iterator) : NULL; \
|
||||||
index < eina_array_count(array); \
|
index < eina_array_count(array); \
|
||||||
|
@ -61,4 +81,8 @@ static inline unsigned int eina_array_count (const Eina_Array *array);
|
||||||
|
|
||||||
#include "eina_inline_array.x"
|
#include "eina_inline_array.x"
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @}
|
||||||
|
*/
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -25,6 +25,10 @@
|
||||||
# define UNLIKELY(x) (x)
|
# define UNLIKELY(x) (x)
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @cond LOCAL
|
||||||
|
*/
|
||||||
|
|
||||||
static inline Eina_Bool
|
static inline Eina_Bool
|
||||||
eina_array_grow(Eina_Array *array)
|
eina_array_grow(Eina_Array *array)
|
||||||
{
|
{
|
||||||
|
@ -32,8 +36,12 @@ eina_array_grow(Eina_Array *array)
|
||||||
unsigned int total;
|
unsigned int total;
|
||||||
|
|
||||||
total = array->total + array->step;
|
total = array->total + array->step;
|
||||||
|
eina_error_set(0);
|
||||||
tmp = realloc(array->data, sizeof (void*) * total);
|
tmp = realloc(array->data, sizeof (void*) * total);
|
||||||
if (UNLIKELY(!tmp)) return 0;
|
if (UNLIKELY(!tmp)) {
|
||||||
|
eina_error_set(EINA_ERROR_OUT_OF_MEMORY);
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
array->total = total;
|
array->total = total;
|
||||||
array->data = tmp;
|
array->data = tmp;
|
||||||
|
@ -41,15 +49,52 @@ eina_array_grow(Eina_Array *array)
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
static inline void
|
/**
|
||||||
|
* @endcond
|
||||||
|
*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @addtogroup Eina_Array_Group Array Functions
|
||||||
|
*
|
||||||
|
* @brief These functions provide array management.
|
||||||
|
*
|
||||||
|
* @{
|
||||||
|
*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief Append a data to an array.
|
||||||
|
*
|
||||||
|
* @param array The array.
|
||||||
|
* @param data The data to add.
|
||||||
|
* @return #EINA_TRUE on success, #EINA_FALSE otherwise.
|
||||||
|
*
|
||||||
|
* This function appends @p data to @p array. For performance
|
||||||
|
* reasons, there is no check of @p array. If it is @c NULL or
|
||||||
|
* invalid, the program may crash. if an allocation is necessary and
|
||||||
|
* fails, #EINA_FALSE is returned and #EINA_ERROR_OUT_OF_MEMORY is
|
||||||
|
* set. Otherwise, #EINA_TRUE is returned.
|
||||||
|
*/
|
||||||
|
static inline Eina_Bool
|
||||||
eina_array_push(Eina_Array *array, const void *data)
|
eina_array_push(Eina_Array *array, const void *data)
|
||||||
{
|
{
|
||||||
if (UNLIKELY((array->count + array->step) > array->total))
|
if (UNLIKELY((array->count + array->step) > array->total))
|
||||||
if (!eina_array_grow(array)) return ;
|
if (!eina_array_grow(array)) return EINA_FALSE;
|
||||||
|
|
||||||
array->data[array->count++] = (void*) data;
|
array->data[array->count++] = (void*) data;
|
||||||
|
return EINA_TRUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief Remove the last data of an array.
|
||||||
|
*
|
||||||
|
* @param array The array.
|
||||||
|
* @return The retrieved data.
|
||||||
|
*
|
||||||
|
* This function removes the last data of @p array and returns it. For
|
||||||
|
* performance reasons, there is no check of @p array. If it is
|
||||||
|
* @c NULL or invalid, the program may crash. If the count member is
|
||||||
|
* less or equal than 0, @c NULL is returned.
|
||||||
|
*/
|
||||||
static inline void *
|
static inline void *
|
||||||
eina_array_pop(Eina_Array *array)
|
eina_array_pop(Eina_Array *array)
|
||||||
{
|
{
|
||||||
|
@ -57,16 +102,41 @@ eina_array_pop(Eina_Array *array)
|
||||||
return array->data[--array->count];
|
return array->data[--array->count];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief Return the data at a given position in an array.
|
||||||
|
*
|
||||||
|
* @param array The array.
|
||||||
|
* @param index The potition of the data to retrieve.
|
||||||
|
* @return The retrieved data.
|
||||||
|
*
|
||||||
|
* This function returns the data at the position @p index in @p
|
||||||
|
* array. For performance reasons, there is no check of @p array or @p
|
||||||
|
* index. If it is @c NULL or invalid, the program may crash.
|
||||||
|
*/
|
||||||
static inline void *
|
static inline void *
|
||||||
eina_array_get(const Eina_Array *array, unsigned int index)
|
eina_array_get(const Eina_Array *array, unsigned int index)
|
||||||
{
|
{
|
||||||
return array->data[index];
|
return array->data[index];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief Return the number of elements in the array.
|
||||||
|
*
|
||||||
|
* @param array The array.
|
||||||
|
* @return The number of elements.
|
||||||
|
*
|
||||||
|
* This function returns the number of elements in @p array. For
|
||||||
|
* performance reasons, there is no check of @p array. If it is
|
||||||
|
* @c NULL or invalid, the program may crash.
|
||||||
|
*/
|
||||||
static inline unsigned int
|
static inline unsigned int
|
||||||
eina_array_count(const Eina_Array *array)
|
eina_array_count(const Eina_Array *array)
|
||||||
{
|
{
|
||||||
return array->count;
|
return array->count;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @}
|
||||||
|
*/
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -19,6 +19,8 @@
|
||||||
#ifndef EINA_PRIVATE_H_
|
#ifndef EINA_PRIVATE_H_
|
||||||
#define EINA_PRIVATE_H_
|
#define EINA_PRIVATE_H_
|
||||||
|
|
||||||
|
#include <stdarg.h>
|
||||||
|
|
||||||
#include "eina_iterator.h"
|
#include "eina_iterator.h"
|
||||||
#include "eina_accessor.h"
|
#include "eina_accessor.h"
|
||||||
|
|
||||||
|
|
|
@ -36,6 +36,10 @@
|
||||||
* Local *
|
* Local *
|
||||||
*============================================================================*/
|
*============================================================================*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @cond LOCAL
|
||||||
|
*/
|
||||||
|
|
||||||
typedef struct _Eina_Iterator_Array Eina_Iterator_Array;
|
typedef struct _Eina_Iterator_Array Eina_Iterator_Array;
|
||||||
struct _Eina_Iterator_Array
|
struct _Eina_Iterator_Array
|
||||||
{
|
{
|
||||||
|
@ -98,6 +102,11 @@ eina_array_accessor_free(Eina_Accessor_Array *it)
|
||||||
free(it);
|
free(it);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @endcond
|
||||||
|
*/
|
||||||
|
|
||||||
|
|
||||||
/*============================================================================*
|
/*============================================================================*
|
||||||
* Global *
|
* Global *
|
||||||
*============================================================================*/
|
*============================================================================*/
|
||||||
|
@ -106,40 +115,61 @@ eina_array_accessor_free(Eina_Accessor_Array *it)
|
||||||
* API *
|
* API *
|
||||||
*============================================================================*/
|
*============================================================================*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @addtogroup Eina_Array_Group Array Functions
|
||||||
|
*
|
||||||
|
* @brief These functions provide array management.
|
||||||
|
*
|
||||||
|
* @{
|
||||||
|
*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief Initialize the array module.
|
||||||
|
*
|
||||||
|
* @return 1 or greater on success, 0 on error.
|
||||||
|
*
|
||||||
|
* This function just sets up the error module or Eina. It is also
|
||||||
|
* called by eina_init(). It returns 0 on failure, otherwise it
|
||||||
|
* returns the number of times eina_error_init() has already been
|
||||||
|
* called.
|
||||||
|
*/
|
||||||
EAPI int
|
EAPI int
|
||||||
eina_array_init(void)
|
eina_array_init(void)
|
||||||
{
|
{
|
||||||
return eina_error_init();
|
return eina_error_init();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief Shut down the array module.
|
||||||
|
*
|
||||||
|
* @return 0 when the error module is completely shut down, 1 or
|
||||||
|
* greater otherwise.
|
||||||
|
*
|
||||||
|
* This function just shut down the error module set up by
|
||||||
|
* eina_array_init(). It is also called by eina_shutdown(). It returns
|
||||||
|
* 0 when it is called the same number of times than
|
||||||
|
* eina_error_init().
|
||||||
|
*/
|
||||||
EAPI int
|
EAPI int
|
||||||
eina_array_shutdown(void)
|
eina_array_shutdown(void)
|
||||||
{
|
{
|
||||||
return eina_error_shutdown();
|
return eina_error_shutdown();
|
||||||
}
|
}
|
||||||
|
|
||||||
EAPI void
|
/**
|
||||||
eina_array_clean(Eina_Array *array)
|
* @brief Create a new array.
|
||||||
{
|
*
|
||||||
array->count = 0;
|
* @param step The count of pointers to add when increasing the array size.
|
||||||
}
|
* @return @c NULL on failure, non @c NULL otherwise.
|
||||||
|
*
|
||||||
EAPI void
|
* This function creates a new array. When adding an element, the array
|
||||||
eina_array_setup(Eina_Array *array, unsigned int step)
|
* allocates @p step elements. When that buffer is full, then adding
|
||||||
{
|
* another element will increase the buffer of @p step elements again.
|
||||||
array->step = step;
|
*
|
||||||
}
|
* This function return a valid array on success, or @c NULL if memory
|
||||||
|
* allocation fails. In hat case, the error is set to
|
||||||
EAPI void
|
* #EINA_ERROR_OUT_OF_MEMORY.
|
||||||
eina_array_flush(Eina_Array *array)
|
*/
|
||||||
{
|
|
||||||
array->count = 0;
|
|
||||||
array->total = 0;
|
|
||||||
|
|
||||||
if (array->data) free(array->data);
|
|
||||||
array->data = NULL;
|
|
||||||
}
|
|
||||||
|
|
||||||
EAPI Eina_Array *
|
EAPI Eina_Array *
|
||||||
eina_array_new(unsigned int step)
|
eina_array_new(unsigned int step)
|
||||||
{
|
{
|
||||||
|
@ -160,6 +190,15 @@ eina_array_new(unsigned int step)
|
||||||
return array;
|
return array;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief Free an array.
|
||||||
|
*
|
||||||
|
* @param array The array to free.
|
||||||
|
*
|
||||||
|
* This function free @p array. It calls first eina_array_flush() then
|
||||||
|
* free the memory of the pointeur. It's up to the user to free the
|
||||||
|
* memory allocated for the elements of @p array.
|
||||||
|
*/
|
||||||
EAPI void
|
EAPI void
|
||||||
eina_array_free(Eina_Array *array)
|
eina_array_free(Eina_Array *array)
|
||||||
{
|
{
|
||||||
|
@ -167,6 +206,69 @@ eina_array_free(Eina_Array *array)
|
||||||
free(array);
|
free(array);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief Set the step of an array.
|
||||||
|
*
|
||||||
|
* @param array The array.
|
||||||
|
* @param step The count of pointers to add when increasing the array size.
|
||||||
|
*
|
||||||
|
* This function set the step of @p array to @p step. For performance
|
||||||
|
* reasons, there is no check of @p array. If it is @c NULL or
|
||||||
|
* invalid, the program may crash.
|
||||||
|
*/
|
||||||
|
EAPI void
|
||||||
|
eina_array_step_set(Eina_Array *array, unsigned int step)
|
||||||
|
{
|
||||||
|
array->step = step;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief Clean an array.
|
||||||
|
*
|
||||||
|
* @param array The array to clean.
|
||||||
|
*
|
||||||
|
* This function set the count member of @p array to 0. For
|
||||||
|
* performance reasons, there is no check of @p array. If it is
|
||||||
|
* @c NULL or invalid, the program may crash.
|
||||||
|
*/
|
||||||
|
EAPI void
|
||||||
|
eina_array_clean(Eina_Array *array)
|
||||||
|
{
|
||||||
|
array->count = 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief Flush an array.
|
||||||
|
*
|
||||||
|
* @param array The array to flush.
|
||||||
|
*
|
||||||
|
* This function set the count and total members of @p array to 0,
|
||||||
|
* frees and set to NULL its data member. For performance reasons,
|
||||||
|
* there is no check of @p array. If it is @c NULL or invalid, the
|
||||||
|
* program may crash.
|
||||||
|
*/
|
||||||
|
EAPI void
|
||||||
|
eina_array_flush(Eina_Array *array)
|
||||||
|
{
|
||||||
|
array->count = 0;
|
||||||
|
array->total = 0;
|
||||||
|
|
||||||
|
if (array->data) free(array->data);
|
||||||
|
array->data = NULL;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief Rebuild an array by specifying the data to keep.
|
||||||
|
*
|
||||||
|
* @param array The array.
|
||||||
|
* @param keep The functions which selects the data to keep.
|
||||||
|
* @param gdata The data to pass to the function keep.
|
||||||
|
*
|
||||||
|
* This function rebuilds @p array be specifying the elements to keep
|
||||||
|
* with the function @p keep. @p gdata is an additional data to pass
|
||||||
|
* to @p keep. For performance reasons, there is no check of @p
|
||||||
|
* array. If it is @c NULL or invalid, the program may crash.
|
||||||
|
*/
|
||||||
EAPI void
|
EAPI void
|
||||||
eina_array_remove(Eina_Array *array, Eina_Bool (*keep)(void *data, void *gdata), void *gdata)
|
eina_array_remove(Eina_Array *array, Eina_Bool (*keep)(void *data, void *gdata), void *gdata)
|
||||||
{
|
{
|
||||||
|
@ -244,6 +346,18 @@ eina_array_remove(Eina_Array *array, Eina_Bool (*keep)(void *data, void *gdata),
|
||||||
array->count = total;
|
array->count = total;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief Returned a new iterator asociated to an array.
|
||||||
|
*
|
||||||
|
* @param array The array.
|
||||||
|
* @return A new iterator.
|
||||||
|
*
|
||||||
|
* This function returns a newly allocated iterator associated to
|
||||||
|
* @p array. If @p array is @c NULL or the count member of @p array is
|
||||||
|
* less or equal than 0, this function returns NULL. If the memory can
|
||||||
|
* not be allocated, NULL is returned and #EINA_ERROR_OUT_OF_MEMORY is
|
||||||
|
* set. Otherwise, a valid iterator is returned.
|
||||||
|
*/
|
||||||
EAPI Eina_Iterator *
|
EAPI Eina_Iterator *
|
||||||
eina_array_iterator_new(const Eina_Array *array)
|
eina_array_iterator_new(const Eina_Array *array)
|
||||||
{
|
{
|
||||||
|
@ -268,6 +382,18 @@ eina_array_iterator_new(const Eina_Array *array)
|
||||||
return &it->iterator;
|
return &it->iterator;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief Returned a new accessor asociated to an array.
|
||||||
|
*
|
||||||
|
* @param array The array.
|
||||||
|
* @return A new accessor.
|
||||||
|
*
|
||||||
|
* This function returns a newly allocated accessor associated to
|
||||||
|
* @p array. If @p array is @c NULL or the count member of @p array is
|
||||||
|
* less or equal than 0, this function returns NULL. If the memory can
|
||||||
|
* not be allocated, NULL is returned and #EINA_ERROR_OUT_OF_MEMORY is
|
||||||
|
* set. Otherwise, a valid accessor is returned.
|
||||||
|
*/
|
||||||
EAPI Eina_Accessor *
|
EAPI Eina_Accessor *
|
||||||
eina_array_accessor_new(const Eina_Array *array)
|
eina_array_accessor_new(const Eina_Array *array)
|
||||||
{
|
{
|
||||||
|
@ -291,3 +417,7 @@ eina_array_accessor_new(const Eina_Array *array)
|
||||||
return &it->accessor;
|
return &it->accessor;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @}
|
||||||
|
*/
|
||||||
|
|
||||||
|
|
|
@ -415,7 +415,7 @@ static char *_colors[EINA_ERROR_LEVELS] = {
|
||||||
/**
|
/**
|
||||||
* @addtogroup Eina_Error_Group Error Functions
|
* @addtogroup Eina_Error_Group Error Functions
|
||||||
*
|
*
|
||||||
* @brief These functions provide error management for porjects.
|
* @brief These functions provide error management for projects.
|
||||||
*
|
*
|
||||||
* The error system must be initialized with eina_error_init() and
|
* The error system must be initialized with eina_error_init() and
|
||||||
* shut down with eina_error_shutdown(). The most generic way to print
|
* shut down with eina_error_shutdown(). The most generic way to print
|
||||||
|
@ -593,7 +593,8 @@ EAPI const char * eina_error_msg_get(Eina_Error error)
|
||||||
*
|
*
|
||||||
* @return The last error.
|
* @return The last error.
|
||||||
*
|
*
|
||||||
* This function returns the last error set by eina_error_set().
|
* This function returns the last error set by eina_error_set(). The
|
||||||
|
* description of the message is returned by eina_error_msg_get().
|
||||||
*/
|
*/
|
||||||
EAPI Eina_Error eina_error_get(void)
|
EAPI Eina_Error eina_error_get(void)
|
||||||
{
|
{
|
||||||
|
|
|
@ -24,6 +24,7 @@
|
||||||
#include <assert.h>
|
#include <assert.h>
|
||||||
|
|
||||||
#include "eina_inlist.h"
|
#include "eina_inlist.h"
|
||||||
|
#include "eina_error.h"
|
||||||
#include "eina_private.h"
|
#include "eina_private.h"
|
||||||
|
|
||||||
/* FIXME: TODO please, refactor this :) */
|
/* FIXME: TODO please, refactor this :) */
|
||||||
|
|
Loading…
Reference in New Issue