efl/legacy/eina/src
Gustavo Sverzut Barbieri 7a4e904566 add eina_value.
eina value is a generic value storage, it's quite efficient to space
(16 bytes) and speed (inlines for basic types).

It's basically a structure describing how to manage memory
(Eina_Value_Type), with default implementation for char, short, int,
long, int64_t (and unsigned variants), float, double, stringshare and
string.

If a type 'value_size' is smaller than 8 bytes, it's stored
inline. Otherwise a value is allocated and managed.

Most of the methods are inline, with special handling for char, short,
int... Then no extra calls are made, allowing the compiler to optimize
them.

For array of a single type it is recommend to use Eina_Value_Array, as
it will efficiently store and access members (just a char if subtype
is EINA_VALUE_TYPE_CHAR, etc).

It can copy itself, compare itself. Including arrays.

It would be nice to have something that converts between EET and this.



SVN revision: 67035
2012-01-11 02:20:26 +00:00
..
examples eina: applied eina_array_count_get -> eina_array_count api change. 2012-01-10 15:34:48 +00:00
include add eina_value. 2012-01-11 02:20:26 +00:00
lib add eina_value. 2012-01-11 02:20:26 +00:00
modules fix some format string errors 2011-12-08 04:21:25 +00:00
tests add eina_value. 2012-01-11 02:20:26 +00:00
Makefile.am eina: add autotools rules to building and installing examples. 2011-06-09 18:53:38 +00:00