Eina
- Date:
- 2008
Table of contents
Introduction
The Eina library is a library that implemente an API for data types in an efficient way. It also provides some useful tools like openin shared libraries, errors management, type conversion, time accounting and memory pool.
This library is cross-platform and can be compiled and used on Linux and Windows (XP and CE).
The data types that are available are
- array
- hash table
- inlined list
- inlined red black tree
- list
- shared string
This document describes each data type by providing the algorithms used in the implementation, the performance, a short tutorial and the API.
Eina Data Types
Containers
Containers are data types that hold data and allow iteration over their elements with an Iterator, or eventually an Accessor. The only data type that is not a container (in that sense) is the Shared String.
Array
Hash Table
Inlined List
Inlined Red Black Tree
Trash
Trash
List
Shared String
Accessing Data Struct Contents
For the container data types, you can access to the elements sequentially with iterators, or randomly with accessors. They are created from the data types themselves and allow a generic way to traverse these data types.
Iterator
Iterators allow a sequential access of the data of a container. They can only access the next element. To look at the API, go to Iterator Functions.
Accessor
Accessors allow a random access of the data of a container. They can access an element at any position. To look at the API, go to Accessor Functions.
Eina Tools
Convert Functions
Timing Functions
Error Functions
Take a look at the API of Error.
Take a look at the Error Tutorial.
Thread safety
Add some stuff for thread safety doc
Debugging
Add some stuff for the debug doc
- Todo:
add debug function
add magic function
add other todo items :)