Generic Value Type management

- Main Page
- Related Pages
- Modules
- Namespaces
- Data Structures
- Files
- Examples

Data Structures | Macros | Functions
Generic Value Type management
Eina » Data Types » Containers » Generic Value Storage

## Data Structures
struct | _Eina_Value_Type
| API to access values. More...

## Macros
#define | EINA_VALUE_TYPE_VERSION (1)
| Current API version, used to validate type.

## Functions
const char * | eina_value_type_name_get (const Eina_Value_Type *type)
| Query type name. More...
Eina_Bool | eina_value_type_check (const Eina_Value_Type *type)
| Check if type is valid. More...
static Eina_Bool | eina_value_type_setup (const Eina_Value_Type *type, void *mem)
| Initialize memory using type descriptor. More...
static Eina_Bool | eina_value_type_flush (const Eina_Value_Type *type, void *mem)
| Flush (clear) memory using type descriptor. More...
static Eina_Bool | eina_value_type_copy (const Eina_Value_Type *type, const void *src, void *dst)
| Copy memory using type descriptor. More...
static int | eina_value_type_compare (const Eina_Value_Type *type, const void *a, const void *b)
| Compare memory using type descriptor. More...
static Eina_Bool | eina_value_type_convert_to (const Eina_Value_Type *type, const Eina_Value_Type *convert, const void *type_mem, void *convert_mem)
| Convert memory using type descriptor. More...
static Eina_Bool | eina_value_type_convert_from (const Eina_Value_Type *type, const Eina_Value_Type *convert, void *type_mem, const void *convert_mem)
| Convert memory using type descriptor. More...
static Eina_Bool | eina_value_type_vset (const Eina_Value_Type *type, void *mem, va_list args)
| Set memory using type descriptor and variable argument. More...
static Eina_Bool | eina_value_type_pset (const Eina_Value_Type *type, void *mem, const void *ptr)
| Set memory using type descriptor and pointer. More...
static Eina_Bool | eina_value_type_pget (const Eina_Value_Type *type, const void *mem, void *ptr)
| Get memory using type descriptor. More...

## Detailed Description

## Function Documentation

const char* eina_value_type_name_get | ( | const Eina_Value_Type * | type | ) |

Query type name.

Parameters

  type | type reference.

Returns
  string or `NULL` if type is invalid.

Since
  1.2

References eina_value_type_check(), and _Eina_Value_Type::name.

Eina_Bool eina_value_type_check | ( | const Eina_Value_Type * | type | ) |

Check if type is valid.

Parameters

  type | type reference.

Returns
  EINA_TRUE if valid, EINA_FALSE otherwise.

A type is invalid if it's NULL or if version field is not the same as runtime EINA_VALUE_TYPE_VERSION.

Since
  1.2

References EINA_FALSE, EINA_VALUE_TYPE_VERSION, and _Eina_Value_Type::version.

Referenced by eina_value_array_new(), eina_value_convert(), eina_value_copy(), eina_value_hash_new(), eina_value_list_new(), eina_value_to_string(), and eina_value_type_name_get().

static Eina_Bool eina_value_type_setup | ( | const Eina_Value_Type * | type,
|  | void * | mem
| ) |  |
| inlinestatic

Initialize memory using type descriptor.

Parameters

  type | type reference.
  mem | memory to operate, must be of size `type->value_size`.

Returns
  EINA_TRUE on success, EINA_FALSE otherwise.

Since
  1.2

static Eina_Bool eina_value_type_flush | ( | const Eina_Value_Type * | type,
|  | void * | mem
| ) |  |
| inlinestatic

Flush (clear) memory using type descriptor.

Parameters

  type | type reference.
  mem | memory to operate, must be of size `type->value_size`.

Returns
  EINA_TRUE on success, EINA_FALSE otherwise.

Since
  1.2

static Eina_Bool eina_value_type_copy | ( | const Eina_Value_Type * | type,
|  | const void * | src,
|  | void * | dst
| ) |  |
| inlinestatic

Copy memory using type descriptor.

Parameters

  type | type reference.
  src | memory to operate, must be of size `type->value_size`.
  dst | memory to operate, must be of size `type->value_size`.

Returns
  EINA_TRUE on success, EINA_FALSE otherwise.

Since
  1.2

static int eina_value_type_compare | ( | const Eina_Value_Type * | type,
|  | const void * | a,
|  | const void * | b
| ) |  |
| inlinestatic

Compare memory using type descriptor.

Parameters

  type | type reference.
  a | memory to operate, must be of size `type->value_size`.
  b | memory to operate, must be of size `type->value_size`.

Returns
  less than zero if a < b, greater than zero if a > b, zero if equal.

Since
  1.2

static Eina_Bool eina_value_type_convert_to | ( | const Eina_Value_Type * | type,
|  | const Eina_Value_Type * | convert,
|  | const void * | type_mem,
|  | void * | convert_mem
| ) |  |
| inlinestatic

Convert memory using type descriptor.

Parameters

  type | type reference of the source.
  convert | type reference of the destination.
  type_mem | memory to operate, must be of size `type->value_size`.
  convert_mem | memory to operate, must be of size `convert->value_size`.

Returns
  EINA_TRUE on success, EINA_FALSE otherwise.

Since
  1.2

static Eina_Bool eina_value_type_convert_from | ( | const Eina_Value_Type * | type,
|  | const Eina_Value_Type * | convert,
|  | void * | type_mem,
|  | const void * | convert_mem
| ) |  |
| inlinestatic

Convert memory using type descriptor.

Parameters

  type | type reference of the destination.
  convert | type reference of the source.
  type_mem | memory to operate, must be of size `type->value_size`.
  convert_mem | memory to operate, must be of size `convert->value_size`.

Returns
  EINA_TRUE on success, EINA_FALSE otherwise.

Since
  1.2

static Eina_Bool eina_value_type_vset | ( | const Eina_Value_Type * | type,
|  | void * | mem,
|  | va_list | args
| ) |  |
| inlinestatic

Set memory using type descriptor and variable argument.

Parameters

  type | type reference of the source.
  mem | memory to operate, must be of size `type->value_size`.
  args | input value.

Returns
  EINA_TRUE on success, EINA_FALSE otherwise.

Since
  1.2

static Eina_Bool eina_value_type_pset | ( | const Eina_Value_Type * | type,
|  | void * | mem,
|  | const void * | ptr
| ) |  |
| inlinestatic

Set memory using type descriptor and pointer.

Parameters

  type | type reference of the source.
  mem | memory to operate, must be of size `type->value_size`.
  ptr | pointer to input value.

Returns
  EINA_TRUE on success, EINA_FALSE otherwise.

Since
  1.2

Examples:
  eina_value_03.c.

Referenced by eo_dbg_info_free().

static Eina_Bool eina_value_type_pget | ( | const Eina_Value_Type * | type,
|  | const void * | mem,
|  | void * | ptr
| ) |  |
| inlinestatic

Get memory using type descriptor.

Parameters

  type | type reference of the source.
  mem | memory to operate, must be of size `type->value_size`.
  ptr | pointer to output.

Returns
  EINA_TRUE on success, EINA_FALSE otherwise.

Since
  1.2