efl/legacy/eina
Gustavo Sverzut Barbieri 088ab8dd2b eina_model: change the way extensions are done.
Thanks to Tasn review it was noticed that subclasses using "const void *value"
with sub-structure would have to resolve their methods manually, quite bad.

Then the extension will happen with structures inside structures, as
previously used in Evas_Smart_Class. To allow the system to resolve
the methods and keep it, it is now specificed the type_size.

A new function is added to help extensions:
eina_model_type_method_resolve(), together with few helper macros.

To allow Eina_Model_Type to be augmented with more methods without
breaking the ABI, 4 slots are left there. We expect we got it right
from beginning and these will never be used, but we can never be sure
;-)

Last but not least, similar changes were done to Eina_Model_Interface
for consistency matters.




SVN revision: 67635
2012-01-31 15:26:48 +00:00
..
doc fix paths to be relative to project build root. 2012-01-22 22:00:07 +00:00
m4 Eina: put m4 files in their own subdir 2012-01-21 08:02:54 +00:00
src eina_model: change the way extensions are done. 2012-01-31 15:26:48 +00:00
.gitignore Add ignore and update files 2011-06-07 10:26:13 +00:00
AUTHORS From: Guillaume Friloux <guillaume.friloux@asp64.com> 2012-01-18 04:32:37 +00:00
COPYING fix COPYING to say 2011. 2011-09-05 07:15:41 +00:00
ChangeLog Eina: Added EINA_C_ARRAY_LENGTH. 2012-01-29 15:38:01 +00:00
INSTALL Update configure as we now need automake 1.10. 2008-09-29 09:46:27 +00:00
Makefile.am buildbot: new attempt at coverage support. 2012-01-22 15:09:51 +00:00
NEWS Eina: fix compilation errors in Eina_RWLock code when building code on Windows > XP 2012-01-26 07:21:27 +00:00
README minor improvements to doc (just to trigger buildbot) 2012-01-15 04:33:55 +00:00
acinclude.m4 Fix build on RHEL5. 2010-02-08 07:07:20 +00:00
autogen.sh Eina: put m4 files in their own subdir 2012-01-21 08:02:54 +00:00
configure.ac Eina: fix requirements and a comment message 2012-01-24 22:05:46 +00:00
eina.pc.in Eina: Use @EINA_LIBS@ for static linking libs in .pc file 2011-09-12 03:43:55 +00:00
eina.spec.in Since the SVN revision is now included in %{version}, it's redundant 2011-06-16 20:36:43 +00:00

README

Eina 1.1.0

******************************************************************************

 FOR ANY ISSUES PLEASE EMAIL:
 enlightenment-devel@lists.sourceforge.net

******************************************************************************

Requirements:
-------------
Must have:
 libc (pthread or windows threading support, iconv support)
 libm

Eina is a library providing data structure utilities for EFL that are meant
to be lean, efficient and tailored to EFL's needs. This saves each
library implementing its own custom datatype handling and duplicating
the code. Some of the datatypes handles are:
  Arrays (variable sized, including inline members)
  Hash tables
  Inlined linked lists
  Linked lists
  Matricies
  Quadtrees
  Red/black trees
  Stringbuffers (expandable string buffers)

In addition Eina supports shared string token hashes with Stringshare
and Unistringshare (standard ascii/utf8 strings and full unicode
strings). It has a Trash pointer collector for deferring freeing until
work is complete on a dataset, Unicode string wrapping and handling,
UTF8 string parsing, 2D tile structure handling and rectangle
utilities, module loading wrapper, Memory pools for faster allocation
and less fragmentation of the heap, Output logging and selective
aborting on critical enough states, fixed point math functions, CPU
feature detection (like MMX, SSE, VFP, NEON etc.), Counters, binary
token sharing and more.

------------------------------------------------------------------------------
COMPILING AND INSTALLING:

  ./configure
  make
(do this as root unless you are installing in your users directories):
  make install