Generic Value List management
[Generic Value Storage]
Data Structures | |
struct | _Eina_Value_List |
Used to store the list and its subtype. More... | |
Typedefs | |
typedef struct _Eina_Value_List | Eina_Value_List |
Value type for EINA_VALUE_TYPE_LIST. | |
Functions | |
Eina_Value * | eina_value_list_new (const Eina_Value_Type *subtype) |
Create generic value storage of type list. | |
static Eina_Bool | eina_value_list_setup (Eina_Value *value, const Eina_Value_Type *subtype) |
Initialize generic value storage of type list. | |
static unsigned int | eina_value_list_count (const Eina_Value *value) |
Query number of elements in value of list type. | |
static Eina_Bool | eina_value_list_remove (Eina_Value *value, unsigned int position) |
Remove element at given position in value of list type. | |
static Eina_Bool | eina_value_list_set (Eina_Value *value, unsigned int position,...) |
Set the generic value in an list member. | |
static Eina_Bool | eina_value_list_get (const Eina_Value *value, unsigned int position,...) |
Get the generic value from an list member. | |
static Eina_Bool | eina_value_list_insert (Eina_Value *value, unsigned int position,...) |
Insert the generic value in an list member position. | |
static Eina_Bool | eina_value_list_append (Eina_Value *value,...) |
Append the generic value in an list. | |
static Eina_Bool | eina_value_list_vset (Eina_Value *value, unsigned int position, va_list args) |
Set the generic value in an list member. | |
static Eina_Bool | eina_value_list_vget (const Eina_Value *value, unsigned int position, va_list args) |
Get the generic value from an list member. | |
static Eina_Bool | eina_value_list_vinsert (Eina_Value *value, unsigned int position, va_list args) |
Insert the generic value in an list member position. | |
static Eina_Bool | eina_value_list_vappend (Eina_Value *value, va_list args) |
Append the generic value in an list. | |
static Eina_Bool | eina_value_list_pset (Eina_Value *value, unsigned int position, const void *ptr) |
Set the generic value in an list member from pointer. | |
static Eina_Bool | eina_value_list_pget (const Eina_Value *value, unsigned int position, void *ptr) |
Get the generic value to pointer from an list member. | |
static Eina_Bool | eina_value_list_pinsert (Eina_Value *value, unsigned int position, const void *ptr) |
Insert the generic value in an list member position from pointer. | |
static Eina_Bool | eina_value_list_pappend (Eina_Value *value, const void *ptr) |
Append the generic value in an list from pointer. |
Typedef Documentation
Function Documentation
Eina_Value* eina_value_list_new | ( | const Eina_Value_Type * | subtype | ) |
Create generic value storage of type list.
- Parameters:
-
subtype how to manage this list members.
- Returns:
- The new value or
NULL
on failure.
On failure, NULL
is returned and EINA_ERROR_OUT_OF_MEMORY or EINA_ERROR_VALUE_FAILED is set.
- Note:
- this creates from mempool and then uses eina_value_list_setup().
- See also:
- eina_value_free()
- Since:
- 1.2
References EINA_FALSE, eina_mempool_free(), eina_mempool_malloc(), eina_value_list_setup(), and eina_value_type_check().
static Eina_Bool eina_value_list_setup | ( | Eina_Value * | value, | |
const Eina_Value_Type * | subtype | |||
) | [inline, static] |
Initialize generic value storage of type list.
- Parameters:
-
value value object subtype how to manage this list members.
- Returns:
- EINA_TRUE on success, EINA_FALSE otherwise.
This is the same as calling eina_value_set() with EINA_VALUE_TYPE_LIST followed by eina_value_pset() with the Eina_Value_List description configured.
- Note:
- Existing contents are ignored! If the value was previously used, then use eina_value_flush() first.
- See also:
- eina_value_flush()
- Since:
- 1.2
Referenced by eina_value_list_new().
static unsigned int eina_value_list_count | ( | const Eina_Value * | value | ) | [inline, static] |
Query number of elements in value of list type.
- Parameters:
-
value value object.
- Returns:
- number of child elements.
- Since:
- 1.2
static Eina_Bool eina_value_list_remove | ( | Eina_Value * | value, | |
unsigned int | position | |||
) | [inline, static] |
Remove element at given position in value of list type.
- Parameters:
-
value value object. position index of the member
- Returns:
- EINA_TRUE on success, EINA_FALSE otherwise.
- Since:
- 1.2
static Eina_Bool eina_value_list_set | ( | Eina_Value * | value, | |
unsigned int | position, | |||
... | ||||
) | [inline, static] |
Set the generic value in an list member.
- Parameters:
-
value source value object position index of the member
- Returns:
- EINA_TRUE on success, EINA_FALSE otherwise.
- EINA_VALUE_TYPE_UCHAR: unsigned char
- EINA_VALUE_TYPE_USHORT: unsigned short
- EINA_VALUE_TYPE_UINT: unsigned int
- EINA_VALUE_TYPE_ULONG: unsigned long
- EINA_VALUE_TYPE_UINT64: uint64_t
- EINA_VALUE_TYPE_CHAR: char
- EINA_VALUE_TYPE_SHORT: short
- EINA_VALUE_TYPE_INT: int
- EINA_VALUE_TYPE_LONG: long
- EINA_VALUE_TYPE_INT64: int64_t
- EINA_VALUE_TYPE_FLOAT: float
- EINA_VALUE_TYPE_DOUBLE: double
- EINA_VALUE_TYPE_STRINGSHARE: const char *
- EINA_VALUE_TYPE_STRING: const char *
- EINA_VALUE_TYPE_LIST: Eina_Value_List
- EINA_VALUE_TYPE_HASH: Eina_Value_Hash
- EINA_VALUE_TYPE_TIMEVAL: struct timeval
- EINA_VALUE_TYPE_BLOB: Eina_Value_Blob
- EINA_VALUE_TYPE_STRUCT: Eina_Value_Struct
Eina_Value *value = eina_value_list_new(EINA_VALUE_TYPE_INT); int x; eina_value_list_append(value, 1234); eina_value_list_set(value, 0, 5678); eina_value_list_get(value, 0, &x); eina_value_free(value);
- See also:
- eina_value_list_get()
- Since:
- 1.2
static Eina_Bool eina_value_list_get | ( | const Eina_Value * | value, | |
unsigned int | position, | |||
... | ||||
) | [inline, static] |
Get the generic value from an list member.
- Parameters:
-
value source value object position index of the member
- Returns:
- EINA_TRUE on success, EINA_FALSE otherwise.
The variable argument is dependent on chosen subtype. The list for basic types:
- EINA_VALUE_TYPE_UCHAR: unsigned char*
- EINA_VALUE_TYPE_USHORT: unsigned short*
- EINA_VALUE_TYPE_UINT: unsigned int*
- EINA_VALUE_TYPE_ULONG: unsigned long*
- EINA_VALUE_TYPE_UINT64: uint64_t*
- EINA_VALUE_TYPE_CHAR: char*
- EINA_VALUE_TYPE_SHORT: short*
- EINA_VALUE_TYPE_INT: int*
- EINA_VALUE_TYPE_LONG: long*
- EINA_VALUE_TYPE_INT64: int64_t*
- EINA_VALUE_TYPE_FLOAT: float*
- EINA_VALUE_TYPE_DOUBLE: double*
- EINA_VALUE_TYPE_STRINGSHARE: const char **
- EINA_VALUE_TYPE_STRING: const char **
- EINA_VALUE_TYPE_LIST: Eina_Value_List*
- EINA_VALUE_TYPE_HASH: Eina_Value_Hash*
- EINA_VALUE_TYPE_TIMEVAL: struct timeval*
- EINA_VALUE_TYPE_BLOB: Eina_Value_Blob*
- EINA_VALUE_TYPE_STRUCT: Eina_Value_Struct*
Eina_Value *value = eina_value_list_new(EINA_VALUE_TYPE_INT); int x; eina_value_list_append(value, 1234); eina_value_list_get(value, 0, &x); eina_value_free(value);
- Since:
- 1.2
static Eina_Bool eina_value_list_insert | ( | Eina_Value * | value, | |
unsigned int | position, | |||
... | ||||
) | [inline, static] |
Insert the generic value in an list member position.
- Parameters:
-
value source value object position index of the member
- Returns:
- EINA_TRUE on success, EINA_FALSE otherwise.
- EINA_VALUE_TYPE_UCHAR: unsigned char
- EINA_VALUE_TYPE_USHORT: unsigned short
- EINA_VALUE_TYPE_UINT: unsigned int
- EINA_VALUE_TYPE_ULONG: unsigned long
- EINA_VALUE_TYPE_UINT64: uint64_t
- EINA_VALUE_TYPE_CHAR: char
- EINA_VALUE_TYPE_SHORT: short
- EINA_VALUE_TYPE_INT: int
- EINA_VALUE_TYPE_LONG: long
- EINA_VALUE_TYPE_INT64: int64_t
- EINA_VALUE_TYPE_FLOAT: float
- EINA_VALUE_TYPE_DOUBLE: double
- EINA_VALUE_TYPE_STRINGSHARE: const char *
- EINA_VALUE_TYPE_STRING: const char *
- EINA_VALUE_TYPE_LIST: Eina_Value_List
- EINA_VALUE_TYPE_HASH: Eina_Value_Hash
- EINA_VALUE_TYPE_TIMEVAL: struct timeval
- EINA_VALUE_TYPE_BLOB: Eina_Value_Blob
- EINA_VALUE_TYPE_STRUCT: Eina_Value_Struct
Eina_Value *value = eina_value_list_new(EINA_VALUE_TYPE_INT); int x; eina_value_list_insert(value, 0, 1234); eina_value_list_get(value, 0, &x); eina_value_free(value);
- See also:
- eina_value_list_set()
- Since:
- 1.2
static Eina_Bool eina_value_list_append | ( | Eina_Value * | value, | |
... | ||||
) | [inline, static] |
Append the generic value in an list.
- Parameters:
-
value source value object
- Returns:
- EINA_TRUE on success, EINA_FALSE otherwise.
- EINA_VALUE_TYPE_UCHAR: unsigned char
- EINA_VALUE_TYPE_USHORT: unsigned short
- EINA_VALUE_TYPE_UINT: unsigned int
- EINA_VALUE_TYPE_ULONG: unsigned long
- EINA_VALUE_TYPE_UINT64: uint64_t
- EINA_VALUE_TYPE_CHAR: char
- EINA_VALUE_TYPE_SHORT: short
- EINA_VALUE_TYPE_INT: int
- EINA_VALUE_TYPE_LONG: long
- EINA_VALUE_TYPE_INT64: int64_t
- EINA_VALUE_TYPE_FLOAT: float
- EINA_VALUE_TYPE_DOUBLE: double
- EINA_VALUE_TYPE_STRINGSHARE: const char *
- EINA_VALUE_TYPE_STRING: const char *
- EINA_VALUE_TYPE_LIST: Eina_Value_List
- EINA_VALUE_TYPE_HASH: Eina_Value_Hash
- EINA_VALUE_TYPE_TIMEVAL: struct timeval
- EINA_VALUE_TYPE_BLOB: Eina_Value_Blob
- EINA_VALUE_TYPE_STRUCT: Eina_Value_Struct
Eina_Value *value = eina_value_list_new(EINA_VALUE_TYPE_INT); int x; eina_value_list_append(value, 1234); eina_value_list_get(value, 0, &x); eina_value_free(value);
- See also:
- eina_value_list_set()
- Since:
- 1.2
static Eina_Bool eina_value_list_vset | ( | Eina_Value * | value, | |
unsigned int | position, | |||
va_list | args | |||
) | [inline, static] |
Set the generic value in an list member.
- Parameters:
-
value source value object position index of the member args variable argument
- Returns:
- EINA_TRUE on success, EINA_FALSE otherwise.
- See also:
- eina_value_list_set()
- Since:
- 1.2
static Eina_Bool eina_value_list_vget | ( | const Eina_Value * | value, | |
unsigned int | position, | |||
va_list | args | |||
) | [inline, static] |
Get the generic value from an list member.
- Parameters:
-
value source value object position index of the member args variable argument
- Returns:
- EINA_TRUE on success, EINA_FALSE otherwise.
- Since:
- 1.2
static Eina_Bool eina_value_list_vinsert | ( | Eina_Value * | value, | |
unsigned int | position, | |||
va_list | args | |||
) | [inline, static] |
Insert the generic value in an list member position.
- Parameters:
-
value source value object position index of the member args variable argument
- Returns:
- EINA_TRUE on success, EINA_FALSE otherwise.
- See also:
- eina_value_list_set()
- Since:
- 1.2
static Eina_Bool eina_value_list_vappend | ( | Eina_Value * | value, | |
va_list | args | |||
) | [inline, static] |
Append the generic value in an list.
- Parameters:
-
value source value object args variable argument
- Returns:
- EINA_TRUE on success, EINA_FALSE otherwise.
- See also:
- eina_value_list_set()
- Since:
- 1.2
static Eina_Bool eina_value_list_pset | ( | Eina_Value * | value, | |
unsigned int | position, | |||
const void * | ptr | |||
) | [inline, static] |
Set the generic value in an list member from pointer.
- Parameters:
-
value source value object position index of the member ptr pointer to specify the contents.
- Returns:
- EINA_TRUE on success, EINA_FALSE otherwise.
- EINA_VALUE_TYPE_UCHAR: unsigned char*
- EINA_VALUE_TYPE_USHORT: unsigned short*
- EINA_VALUE_TYPE_UINT: unsigned int*
- EINA_VALUE_TYPE_ULONG: unsigned long*
- EINA_VALUE_TYPE_UINT64: uint64_t*
- EINA_VALUE_TYPE_CHAR: char*
- EINA_VALUE_TYPE_SHORT: short*
- EINA_VALUE_TYPE_INT: int*
- EINA_VALUE_TYPE_LONG: long*
- EINA_VALUE_TYPE_INT64: int64_t*
- EINA_VALUE_TYPE_FLOAT: float*
- EINA_VALUE_TYPE_DOUBLE: double*
- EINA_VALUE_TYPE_STRINGSHARE: const char **
- EINA_VALUE_TYPE_STRING: const char **
- EINA_VALUE_TYPE_LIST: Eina_Value_List*
- EINA_VALUE_TYPE_HASH: Eina_Value_Hash*
- EINA_VALUE_TYPE_TIMEVAL: struct timeval*
- EINA_VALUE_TYPE_BLOB: Eina_Value_Blob*
- EINA_VALUE_TYPE_STRUCT: Eina_Value_Struct*
- Note:
- the pointer contents are written using the size defined by type. It can be larger than void* or uint64_t.
Eina_Value *value = eina_value_list_new(EINA_VALUE_TYPE_INT); int x = 1234; eina_value_list_append(value, 1234); eina_value_list_pset(value, 0, &x); eina_value_list_pget(value, 0, &x); eina_value_free(value);
- See also:
- eina_value_list_set()
- Since:
- 1.2
static Eina_Bool eina_value_list_pget | ( | const Eina_Value * | value, | |
unsigned int | position, | |||
void * | ptr | |||
) | [inline, static] |
Get the generic value to pointer from an list member.
- Parameters:
-
value source value object position index of the member ptr pointer to receive the contents.
- Returns:
- EINA_TRUE on success, EINA_FALSE otherwise.
The pointer type is dependent on chosen value type. The list for basic types:
- EINA_VALUE_TYPE_UCHAR: unsigned char*
- EINA_VALUE_TYPE_USHORT: unsigned short*
- EINA_VALUE_TYPE_UINT: unsigned int*
- EINA_VALUE_TYPE_ULONG: unsigned long*
- EINA_VALUE_TYPE_UINT64: uint64_t*
- EINA_VALUE_TYPE_CHAR: char*
- EINA_VALUE_TYPE_SHORT: short*
- EINA_VALUE_TYPE_INT: int*
- EINA_VALUE_TYPE_LONG: long*
- EINA_VALUE_TYPE_INT64: int64_t*
- EINA_VALUE_TYPE_FLOAT: float*
- EINA_VALUE_TYPE_DOUBLE: double*
- EINA_VALUE_TYPE_STRINGSHARE: const char **
- EINA_VALUE_TYPE_STRING: const char **
- EINA_VALUE_TYPE_LIST: Eina_Value_List*
- EINA_VALUE_TYPE_HASH: Eina_Value_Hash*
- EINA_VALUE_TYPE_TIMEVAL: struct timeval*
- EINA_VALUE_TYPE_BLOB: Eina_Value_Blob*
- EINA_VALUE_TYPE_STRUCT: Eina_Value_Struct*
Eina_Value *value = eina_value_list_new(EINA_VALUE_TYPE_INT); int x; eina_value_list_append(value, 1234); eina_value_list_pget(value, 0, &x); eina_value_free(value);
- Since:
- 1.2
static Eina_Bool eina_value_list_pinsert | ( | Eina_Value * | value, | |
unsigned int | position, | |||
const void * | ptr | |||
) | [inline, static] |
Insert the generic value in an list member position from pointer.
- Parameters:
-
value source value object position index of the member ptr pointer to specify the contents.
- Returns:
- EINA_TRUE on success, EINA_FALSE otherwise.
- EINA_VALUE_TYPE_UCHAR: unsigned char*
- EINA_VALUE_TYPE_USHORT: unsigned short*
- EINA_VALUE_TYPE_UINT: unsigned int*
- EINA_VALUE_TYPE_ULONG: unsigned long*
- EINA_VALUE_TYPE_UINT64: uint64_t*
- EINA_VALUE_TYPE_CHAR: char*
- EINA_VALUE_TYPE_SHORT: short*
- EINA_VALUE_TYPE_INT: int*
- EINA_VALUE_TYPE_LONG: long*
- EINA_VALUE_TYPE_INT64: int64_t*
- EINA_VALUE_TYPE_FLOAT: float*
- EINA_VALUE_TYPE_DOUBLE: double*
- EINA_VALUE_TYPE_STRINGSHARE: const char **
- EINA_VALUE_TYPE_STRING: const char **
- EINA_VALUE_TYPE_LIST: Eina_Value_List*
- EINA_VALUE_TYPE_HASH: Eina_Value_Hash*
- EINA_VALUE_TYPE_TIMEVAL: struct timeval*
- EINA_VALUE_TYPE_BLOB: Eina_Value_Blob*
- EINA_VALUE_TYPE_STRUCT: Eina_Value_Struct*
- Note:
- the pointer contents are written using the size defined by type. It can be larger than void* or uint64_t.
Eina_Value *value = eina_value_list_new(EINA_VALUE_TYPE_INT); int x = 1234; eina_value_list_pinsert(value, 0, &x); eina_value_list_pget(value, 0, &x); eina_value_free(value);
- See also:
- eina_value_list_set()
- Since:
- 1.2
static Eina_Bool eina_value_list_pappend | ( | Eina_Value * | value, | |
const void * | ptr | |||
) | [inline, static] |
Append the generic value in an list from pointer.
- Parameters:
-
value source value object ptr pointer to specify the contents.
- Returns:
- EINA_TRUE on success, EINA_FALSE otherwise.
- EINA_VALUE_TYPE_UCHAR: unsigned char*
- EINA_VALUE_TYPE_USHORT: unsigned short*
- EINA_VALUE_TYPE_UINT: unsigned int*
- EINA_VALUE_TYPE_ULONG: unsigned long*
- EINA_VALUE_TYPE_UINT64: uint64_t*
- EINA_VALUE_TYPE_CHAR: char*
- EINA_VALUE_TYPE_SHORT: short*
- EINA_VALUE_TYPE_INT: int*
- EINA_VALUE_TYPE_LONG: long*
- EINA_VALUE_TYPE_INT64: int64_t*
- EINA_VALUE_TYPE_FLOAT: float*
- EINA_VALUE_TYPE_DOUBLE: double*
- EINA_VALUE_TYPE_STRINGSHARE: const char **
- EINA_VALUE_TYPE_STRING: const char **
- EINA_VALUE_TYPE_LIST: Eina_Value_List*
- EINA_VALUE_TYPE_HASH: Eina_Value_Hash*
- EINA_VALUE_TYPE_TIMEVAL: struct timeval*
- EINA_VALUE_TYPE_BLOB: Eina_Value_Blob*
- EINA_VALUE_TYPE_STRUCT: Eina_Value_Struct*
- Note:
- the pointer contents are written using the size defined by type. It can be larger than void* or uint64_t.
Eina_Value *value = eina_value_list_new(EINA_VALUE_TYPE_INT); int x = 1234; eina_value_list_pappend(value, &x); eina_value_list_pget(value, 0, &x); eina_value_free(value);
- See also:
- eina_value_list_set()
- Since:
- 1.2