Generic Value List management
Eina » Data Types » Containers » 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_API Eina_Value * | eina_value_list_new (const Eina_Value_Type *subtype)
| Creates generic value storage of type list.
static Eina_Bool | eina_value_list_setup (Eina_Value *value, const Eina_Value_Type *subtype)
| Initializes generic value storage of type list.
static unsigned int | eina_value_list_count (const Eina_Value *value)
| Queries number of elements in value of list type.
static Eina_Bool | eina_value_list_remove (Eina_Value *value, unsigned int position)
| Removes element at given position in value of list type.
static Eina_Bool | eina_value_list_set (Eina_Value *value, unsigned int position,...)
| Sets the generic value in a list member.
static Eina_Bool | eina_value_list_get (const Eina_Value *value, unsigned int position,...)
| Gets the generic value from a list member.
static Eina_Bool | eina_value_list_insert (Eina_Value *value, unsigned int position,...)
| Inserts the generic value in a list member position.
static Eina_Bool | eina_value_list_append (Eina_Value *value,...)
| Appends the generic value in a list.
static Eina_Bool | eina_value_list_vset (Eina_Value *value, unsigned int position, va_list args)
| Sets the generic value in a list member.
static Eina_Bool | eina_value_list_vget (const Eina_Value *value, unsigned int position, va_list args)
| Gets the generic value from a list member.
static Eina_Bool | eina_value_list_vinsert (Eina_Value *value, unsigned int position, va_list args)
| Inserts the generic value in a list member position.
static Eina_Bool | eina_value_list_vappend (Eina_Value *value, va_list args)
| Appends the generic value in a list.
static Eina_Bool | eina_value_list_pset (Eina_Value *value, unsigned int position, const void *ptr)
| Sets the generic value in a list member from pointer.
static Eina_Bool | eina_value_list_pget (const Eina_Value *value, unsigned int position, void *ptr)
| Gets the generic value to pointer from a list member.
static Eina_Bool | eina_value_list_pinsert (Eina_Value *value, unsigned int position, const void *ptr)
| Inserts the generic value in a list member position from pointer.
static Eina_Bool | eina_value_list_pappend (Eina_Value *value, const void *ptr)
| Appends the generic value in a list from pointer.

## Detailed Description

## Typedef Documentation

## Eina_Value_List

typedef struct _Eina_Value_List Eina_Value_List

Value type for EINA_VALUE_TYPE_LIST.

See also
  _Eina_Value_List explains fields.

Since
  1.2

## Function Documentation

## eina_value_list_new()

EINA_API Eina_Value * eina_value_list_new | ( | const Eina_Value_Type * | subtype | ) |

Creates generic value storage of type list.

Parameters

  [in] | subtype | How to manage this list members.

Returns
  The new value, or `NULL` on failure.

Create a new generic value storage of type list. The members are managed using the description specified by subtype.

On failure, `NULL` is returned.

Note
  this creates from mempool and then uses eina_value_list_setup().

See also
  eina_value_free()
  eina_value_list_setup()

Since
  1.2

References EINA_SAFETY_ON_FALSE_RETURN_VAL, and eina_value_type_check().

## eina_value_list_setup()

Eina_Bool eina_value_list_setup | ( | Eina_Value * | value,
|  | const Eina_Value_Type * | subtype )

inline static

Initializes generic value storage of type list.

Parameters

  [out] | value | Value object
  [in] | subtype | How to manage this list members.

Returns
  EINA_TRUE on success, EINA_FALSE otherwise.

Initializes new generic value storage of type list with the given subtype.

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.

On failure, EINA_FALSE is returned.

See also
  eina_value_flush()

Since
  1.2

## eina_value_list_count()

unsigned int eina_value_list_count | ( | const Eina_Value * | value | ) |

inline static

Queries number of elements in value of list type.

Parameters

  [in] | value | value object.

Returns
  number of child elements.

Since
  1.2

## eina_value_list_remove()

Eina_Bool eina_value_list_remove | ( | Eina_Value * | value,
|  | unsigned int | position )

inline static

Removes element at given position in value of list type.

Parameters

  [in,out] | value | value object.
  [in] | position | index of the member

Returns
  EINA_TRUE on success, EINA_FALSE otherwise.

Since
  1.2

## eina_value_list_set()

Eina_Bool eina_value_list_set | ( | Eina_Value * | value,
|  | unsigned int | position,
|  |  | ... )

inline static

Sets the generic value in a list member.

Parameters

  [in,out] | value | Source value object
  [in] | 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_VALUE: Eina_Value
- EINA_VALUE_TYPE_ERROR: Eina_Error
- 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_TYPE_TM: struct tm*

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);
Eina_Value
struct _Eina_Value Eina_Value
Store generic values.
Definition eina_value.h:307
EINA_VALUE_TYPE_INT
EINA_API const Eina_Value_Type * EINA_VALUE_TYPE_INT
manages int type.
Definition eina_value.c:5602
eina_value_list_new
EINA_API Eina_Value * eina_value_list_new(const Eina_Value_Type *subtype)
Creates generic value storage of type list.
Definition eina_value.c:5783
eina_value_list_get
static Eina_Bool eina_value_list_get(const Eina_Value *value, unsigned int position,...)
Gets the generic value from a list member.
eina_value_list_append
static Eina_Bool eina_value_list_append(Eina_Value *value,...)
Appends the generic value in a list.
eina_value_list_set
static Eina_Bool eina_value_list_set(Eina_Value *value, unsigned int position,...)
Sets the generic value in a list member.
eina_value_free
EINA_API void eina_value_free(Eina_Value *value)
Frees value and its data.
Definition eina_value.c:5645

See also
  eina_value_list_get()
  eina_value_list_vset()
  eina_value_list_pset()
  eina_value_list_insert()
  eina_value_list_vinsert()
  eina_value_list_pinsert()
  eina_value_list_append()
  eina_value_list_vappend()
  eina_value_list_pappend()

Since
  1.2

References EINA_ARG_NONNULL.

## eina_value_list_get()

Eina_Bool eina_value_list_get | ( | const Eina_Value * | value,
|  | unsigned int | position,
|  |  | ... )

inline static

Gets the generic value from a list member.

Parameters

  [in] | value | Source value object
  [in] | position | Index of the member

Returns
  EINA_TRUE on success, EINA_FALSE otherwise.

The value is returned in the variable argument parameter, the actual value is type-dependent, but usually it will be what is stored inside the object. There shouldn't be any memory allocation, thus the contents should not be freed.

The variable argument is dependent on chosen subtype. The list for basic types:

- EINA_VALUE_TYPE_VALUE: Eina_Value*
- EINA_VALUE_TYPE_ERROR: Eina_Error*
- 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_TYPE_TM: struct tm*

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()
  eina_value_list_vset()
  eina_value_list_pset()

Since
  1.2

References EINA_ARG_NONNULL.

## eina_value_list_insert()

Eina_Bool eina_value_list_insert | ( | Eina_Value * | value,
|  | unsigned int | position,
|  |  | ... )

inline static

Inserts the generic value in a list member position.

Parameters

  [in,out] | value | Source value object
  [in] | 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_VALUE: Eina_Value
- EINA_VALUE_TYPE_ERROR: Eina_Error
- 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_TYPE_TM: struct tm*

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);
eina_value_list_insert
static Eina_Bool eina_value_list_insert(Eina_Value *value, unsigned int position,...)
Inserts the generic value in a list member position.

See also
  eina_value_list_set()
  eina_value_list_get()
  eina_value_list_vset()
  eina_value_list_pset()
  eina_value_list_vinsert()
  eina_value_list_pinsert()
  eina_value_list_append()
  eina_value_list_vappend()
  eina_value_list_pappend()

Since
  1.2

References EINA_ARG_NONNULL.

## eina_value_list_append()

Eina_Bool eina_value_list_append | ( | Eina_Value * | value,
|  |  | ... )

inline static

Appends the generic value in a list.

Parameters

  [in,out] | value | Source value object
  [in] | ... | Variable arguments

Returns
  EINA_TRUE on success, EINA_FALSE otherwise.

The variable argument is dependent on chosen subtype. The list for basic types:

- EINA_VALUE_TYPE_VALUE: Eina_Value
- EINA_VALUE_TYPE_ERROR: Eina_Error
- 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_TYPE_TM: struct tm*

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()
  eina_value_list_get()
  eina_value_list_vset()
  eina_value_list_pset()
  eina_value_list_vinsert()
  eina_value_list_pinsert()
  eina_value_list_append()
  eina_value_list_vappend()
  eina_value_list_pappend()

Since
  1.2

References EINA_ARG_NONNULL.

## eina_value_list_vset()

Eina_Bool eina_value_list_vset | ( | Eina_Value * | value,
|  | unsigned int | position,
|  | va_list | args )

inline static

Sets the generic value in a list member.

Parameters

  [in,out] | value | Source value object
  [in] | position | Index of the member
  [in] | args | Variable argument

Returns
  EINA_TRUE on success, EINA_FALSE otherwise.

See also
  eina_value_list_set()
  eina_value_list_get()
  eina_value_list_pset()
  eina_value_list_insert()
  eina_value_list_vinsert()
  eina_value_list_pinsert()
  eina_value_list_append()
  eina_value_list_vappend()
  eina_value_list_pappend()

Since
  1.2

References EINA_ARG_NONNULL.

## eina_value_list_vget()

Eina_Bool eina_value_list_vget | ( | const Eina_Value * | value,
|  | unsigned int | position,
|  | va_list | args )

inline static

Gets the generic value from a list member.

Parameters

  [in] | value | Source value object
  [in] | position | Index of the member
  [in] | args | Variable argument

Returns
  EINA_TRUE on success, EINA_FALSE otherwise.

The value is returned in the variable argument parameter, the actual value is type-dependent, but usually it will be what is stored inside the object. There shouldn't be any memory allocation, thus the contents should not be freed.

See also
  eina_value_list_vset()
  eina_value_list_get()
  eina_value_list_pget()

Since
  1.2

References EINA_ARG_NONNULL.

## eina_value_list_vinsert()

Eina_Bool eina_value_list_vinsert | ( | Eina_Value * | value,
|  | unsigned int | position,
|  | va_list | args )

inline static

Inserts the generic value in a list member position.

Parameters

  [in,out] | value | Source value object
  [in] | position | Index of the member
  [in] | args | Variable argument

Returns
  EINA_TRUE on success, EINA_FALSE otherwise.

See also
  eina_value_list_set()
  eina_value_list_get()
  eina_value_list_vset()
  eina_value_list_pset()
  eina_value_list_insert()
  eina_value_list_pinsert()
  eina_value_list_append()
  eina_value_list_vappend()
  eina_value_list_pappend()

Since
  1.2

References EINA_ARG_NONNULL.

## eina_value_list_vappend()

Eina_Bool eina_value_list_vappend | ( | Eina_Value * | value,
|  | va_list | args )

inline static

Appends the generic value in a list.

Parameters

  [in,out] | value | Source value object
  [in] | args | Variable argument

Returns
  EINA_TRUE on success, EINA_FALSE otherwise.

See also
  eina_value_list_set()
  eina_value_list_get()
  eina_value_list_vget()
  eina_value_list_pset()
  eina_value_list_insert()
  eina_value_list_vinsert()
  eina_value_list_pinsert()
  eina_value_list_append()
  eina_value_list_pappend()

Since
  1.2

References EINA_ARG_NONNULL.

## eina_value_list_pset()

Eina_Bool eina_value_list_pset | ( | Eina_Value * | value,
|  | unsigned int | position,
|  | const void * | ptr )

inline static

Sets the generic value in a list member from pointer.

Parameters

  [in,out] | value | Source value object
  [in] | position | Index of the member
  [in] | ptr | Pointer to specify 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_VALUE: Eina_Value*
- EINA_VALUE_TYPE_ERROR: Eina_Error*
- 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_TYPE_TM: struct tm*

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);
eina_value_list_pget
static Eina_Bool eina_value_list_pget(const Eina_Value *value, unsigned int position, void *ptr)
Gets the generic value to pointer from a list member.
eina_value_list_pset
static Eina_Bool eina_value_list_pset(Eina_Value *value, unsigned int position, const void *ptr)
Sets the generic value in a list member from pointer.

See also
  eina_value_list_set()
  eina_value_list_get()
  eina_value_list_vset()
  eina_value_list_insert()
  eina_value_list_vinsert()
  eina_value_list_pinsert()
  eina_value_list_append()
  eina_value_list_vappend()
  eina_value_list_pappend()

Since
  1.2

References EINA_ARG_NONNULL.

## eina_value_list_pget()

Eina_Bool eina_value_list_pget | ( | const Eina_Value * | value,
|  | unsigned int | position,
|  | void * | ptr )

inline static

Gets the generic value to pointer from a list member.

Parameters

  [in] | value | Source value object
  [in] | position | Index of the member
  [out] | ptr | Pointer to receive the contents.

Returns
  EINA_TRUE on success, EINA_FALSE otherwise.

The value is returned in pointer contents, the actual value is type-dependent, but usually it will be what is stored inside the object. There shouldn't be any memory allocation, thus the contents should not be freed.

The pointer type is dependent on chosen value type. The list for basic types:

- EINA_VALUE_TYPE_VALUE: Eina_Value*
- EINA_VALUE_TYPE_ERROR: Eina_Error*
- 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_TYPE_TM: struct tm*

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);

See also
  eina_value_list_set()
  eina_value_list_vset()
  eina_value_list_pset()

Since
  1.2

References EINA_ARG_NONNULL.

## eina_value_list_pinsert()

Eina_Bool eina_value_list_pinsert | ( | Eina_Value * | value,
|  | unsigned int | position,
|  | const void * | ptr )

inline static

Inserts the generic value in a list member position from pointer.

Parameters

  [in,out] | value | Source value object
  [in] | position | Index of the member
  [in] | ptr | Pointer to specify 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_VALUE: Eina_Value*
- EINA_VALUE_TYPE_ERROR: Eina_Error*
- 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_TYPE_TM: struct tm*

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);
eina_value_list_pinsert
static Eina_Bool eina_value_list_pinsert(Eina_Value *value, unsigned int position, const void *ptr)
Inserts the generic value in a list member position from pointer.

See also
  eina_value_list_set()
  eina_value_list_get()
  eina_value_list_vset()
  eina_value_list_insert()
  eina_value_list_vinsert()
  eina_value_list_pinsert()
  eina_value_list_append()
  eina_value_list_vappend()
  eina_value_list_pappend()

Since
  1.2

References EINA_ARG_NONNULL.

## eina_value_list_pappend()

Eina_Bool eina_value_list_pappend | ( | Eina_Value * | value,
|  | const void * | ptr )

inline static

Appends the generic value in a list from pointer.

Parameters

  [in,out] | value | Source value object
  [in] | ptr | Pointer to specify 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_VALUE: Eina_Value*
- EINA_VALUE_TYPE_ERROR: Eina_Error*
- 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_TYPE_TM: struct tm*

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);
eina_value_list_pappend
static Eina_Bool eina_value_list_pappend(Eina_Value *value, const void *ptr)
Appends the generic value in a list from pointer.

See also
  eina_value_list_set()
  eina_value_list_get()
  eina_value_list_vset()
  eina_value_list_insert()
  eina_value_list_vinsert()
  eina_value_list_pinsert()
  eina_value_list_append()
  eina_value_list_vappend()
  eina_value_list_pappend()

Since
  1.2

References EINA_ARG_NONNULL.