diff options
Diffstat (limited to '')
-rw-r--r-- | libraries/eina/src/include/Eina.h | 44 |
1 files changed, 40 insertions, 4 deletions
diff --git a/libraries/eina/src/include/Eina.h b/libraries/eina/src/include/Eina.h index 721a991..d99b129 100644 --- a/libraries/eina/src/include/Eina.h +++ b/libraries/eina/src/include/Eina.h | |||
@@ -1,5 +1,5 @@ | |||
1 | /* EINA - EFL data type library | 1 | /* EINA - EFL data type library |
2 | * Copyright (C) 2008-2011 Enlightenment Developers: | 2 | * Copyright (C) 2008-2012 Enlightenment Developers: |
3 | * Albin "Lutin" Tonnerre <albin.tonnerre@gmail.com> | 3 | * Albin "Lutin" Tonnerre <albin.tonnerre@gmail.com> |
4 | * Alexandre "diaxen" Becoulet <diaxen@free.fr> | 4 | * Alexandre "diaxen" Becoulet <diaxen@free.fr> |
5 | * Andre Dieb <andre.dieb@gmail.com> | 5 | * Andre Dieb <andre.dieb@gmail.com> |
@@ -16,6 +16,7 @@ | |||
16 | * Tilman Sauerbeck <tilman@code-monkey.de> | 16 | * Tilman Sauerbeck <tilman@code-monkey.de> |
17 | * Vincent "caro" Torri <vtorri at univ-evry dot fr> | 17 | * Vincent "caro" Torri <vtorri at univ-evry dot fr> |
18 | * Tom Hacohen <tom@stosb.com> | 18 | * Tom Hacohen <tom@stosb.com> |
19 | * Jonas M. Gastal <jgastal@profusion.mobi> | ||
19 | * | 20 | * |
20 | * This library is free software; you can redistribute it and/or | 21 | * This library is free software; you can redistribute it and/or |
21 | * modify it under the terms of the GNU Lesser General Public | 22 | * modify it under the terms of the GNU Lesser General Public |
@@ -46,7 +47,7 @@ | |||
46 | * @mainpage Eina | 47 | * @mainpage Eina |
47 | * | 48 | * |
48 | * @version 1.1 | 49 | * @version 1.1 |
49 | * @date 2008-2011 | 50 | * @date 2008-2012 |
50 | * | 51 | * |
51 | * @section eina_intro_sec Introduction | 52 | * @section eina_intro_sec Introduction |
52 | * | 53 | * |
@@ -72,6 +73,8 @@ | |||
72 | * @li @ref Eina_Stringshare_Group saves memory by sharing read-only string references. | 73 | * @li @ref Eina_Stringshare_Group saves memory by sharing read-only string references. |
73 | * @li @ref Eina_Tiler_Group split, merge and navigates into 2D tiled regions. | 74 | * @li @ref Eina_Tiler_Group split, merge and navigates into 2D tiled regions. |
74 | * @li @ref Eina_Trash_Group container of unused but allocated data. | 75 | * @li @ref Eina_Trash_Group container of unused but allocated data. |
76 | * @li @ref Eina_Value_Group container for generic value storage and access. | ||
77 | * @li @ref Eina_Model_Group container for data with user defined hierarchy/structure. | ||
75 | * | 78 | * |
76 | * The tools that are available are (see @ref Eina_Tools_Group): | 79 | * The tools that are available are (see @ref Eina_Tools_Group): |
77 | * @li @ref Eina_Benchmark_Group helper to write benchmarks. | 80 | * @li @ref Eina_Benchmark_Group helper to write benchmarks. |
@@ -101,6 +104,31 @@ | |||
101 | * their elements with an @ref Eina_Iterator_Group, or eventually an | 104 | * their elements with an @ref Eina_Iterator_Group, or eventually an |
102 | * @ref Eina_Accessor_Group. | 105 | * @ref Eina_Accessor_Group. |
103 | * | 106 | * |
107 | * The containers in eina are designed with performance in mind, one consequence | ||
108 | * of this is that they @b don't check the validity of data structures given to | ||
109 | * them(@ref Eina_Magic_Group). | ||
110 | * | ||
111 | * The choice of which container to use in each situation is very important in | ||
112 | * achieving good performance and readable code. The most common container types | ||
113 | * to be used are: | ||
114 | * @li List | ||
115 | * @li Inline list | ||
116 | * @li Array | ||
117 | * @li Inline array | ||
118 | * @li Hash | ||
119 | * | ||
120 | * All types have virtues and vices. The following considerations are good | ||
121 | * starting point in deciding which container to use: | ||
122 | * @li Hashes are appropriate for datasets which will be searched often; | ||
123 | * @li arrays are good when accessing members by position; | ||
124 | * @li lists provide good versatility for adding elements in any position with | ||
125 | * minimal overhead; | ||
126 | * @li inline arrays use very little memory and don't cause fragmentation and | ||
127 | * therefore are a good option in memory constrained systems; | ||
128 | * @li inline lists are the appropriate type to use when the flexibility of a | ||
129 | * list is required but the overhead of pointer indirection is not acceptable. | ||
130 | * @warning These are general considerations, every situation is different, | ||
131 | * don't follow these recommendations blindly. | ||
104 | * | 132 | * |
105 | * @defgroup Eina_Tools_Group Tools | 133 | * @defgroup Eina_Tools_Group Tools |
106 | * | 134 | * |
@@ -120,15 +148,22 @@ | |||
120 | * @author Carsten Haitzler <raster@@rasterman.com> | 148 | * @author Carsten Haitzler <raster@@rasterman.com> |
121 | * @author Cedric Bail <cedric.bail@@free.fr> | 149 | * @author Cedric Bail <cedric.bail@@free.fr> |
122 | * @author Corey "atmos" Donohoe <atmos@@atmos.org> | 150 | * @author Corey "atmos" Donohoe <atmos@@atmos.org> |
151 | * @author Vincent "caro" Torri <vtorri at univ-evry dot fr> | ||
123 | * @author Fabiano FidĂȘncio <fidencio@@profusion.mobi> | 152 | * @author Fabiano FidĂȘncio <fidencio@@profusion.mobi> |
124 | * @author Gustavo Chaves <glima@@profusion.mobi> | 153 | * @author Gustavo Chaves <glima@@profusion.mobi> |
125 | * @author Gustavo Sverzut Barbieri <barbieri@@profusion.mobi> | 154 | * @author Gustavo Sverzut Barbieri <barbieri@@profusion.mobi> |
126 | * @author Jorge Luis "turran" Zapata <jorgeluis.zapata@@gmail.com> | 155 | * @author Jorge Luis "turran" Zapata <jorgeluis.zapata@@gmail.com> |
156 | * @author Tilman Sauerbeck <tilman@@code-monkey.de> | ||
127 | * @author Peter "pfritz" Wehrfritz <peter.wehrfritz@@web.de> | 157 | * @author Peter "pfritz" Wehrfritz <peter.wehrfritz@@web.de> |
128 | * @author Raphael Kubo da Costa <kubo@@profusion.mobi> | 158 | * @author Raphael Kubo da Costa <kubo@@profusion.mobi> |
129 | * @author Tilman Sauerbeck <tilman@@code-monkey.de> | ||
130 | * @author Vincent "caro" Torri <vtorri at univ-evry dot fr> | ||
131 | * @author Tom Hacohen <tom@@stosb.com> | 159 | * @author Tom Hacohen <tom@@stosb.com> |
160 | * @author Brett Nash <nash@@nash.id.au> | ||
161 | * @author Sebastian Dransfeld <sd@@tango.flipp.net> | ||
162 | * @author Myungjae Lee <mjae.lee@@samsung.com> | ||
163 | * @author Youness Alaoui <kakaroto@@kakaroto.homelinux.net> | ||
164 | * @author Boris "billiob" Faure <billiob@@gmail.com> | ||
165 | * @author Sung W. Park <sungwoo@@gmail.com> | ||
166 | * @author Guillaume Friloux <guillaume.friloux@@asp64.com> | ||
132 | * | 167 | * |
133 | * Please contact <enlightenment-devel@lists.sourceforge.net> to get in | 168 | * Please contact <enlightenment-devel@lists.sourceforge.net> to get in |
134 | * contact with the developers and maintainers. | 169 | * contact with the developers and maintainers. |
@@ -189,6 +224,7 @@ extern "C" { | |||
189 | #include "eina_mmap.h" | 224 | #include "eina_mmap.h" |
190 | #include "eina_xattr.h" | 225 | #include "eina_xattr.h" |
191 | #include "eina_value.h" | 226 | #include "eina_value.h" |
227 | #include "eina_model.h" | ||
192 | 228 | ||
193 | #ifdef __cplusplus | 229 | #ifdef __cplusplus |
194 | } | 230 | } |