71 lines
3.4 KiB
Plaintext
71 lines
3.4 KiB
Plaintext
~~Title: Eina Programming Guide~~
|
|
{{page>index}}
|
|
===== Eina Programming Guide =====
|
|
|
|
Eina provides data types and useful tools.
|
|
|
|
The Eina library implements an API for data types in an efficient way. It also
|
|
provides some useful tools, such as opening shared libraries, error
|
|
management, type conversion, time accounting, and memory pool.
|
|
|
|
=== Table of Contents ===
|
|
|
|
* Data Types
|
|
* [[/program_guide/eina/iterator_functions|Iterator Functions]]
|
|
* [[/program_guide/eina/strings|Strings]]
|
|
* [[/program_guide/eina/arrays|Arrays]]
|
|
* [[/program_guide/eina/hash_tables|Hash Tables]]
|
|
* [[/program_guide/eina/lists|Lists]]
|
|
* [[/program_guide/eina/generic_value|Generic Value]]
|
|
* Eina Tools
|
|
* [[/program_guide/eina/string_tools|String]]
|
|
* [[/program_guide/eina/memory_pool_tools|Memory Pool]]
|
|
* [[/program_guide/eina/safety_checks_tools|Safety Checks]]
|
|
|
|
=== Related Info ===
|
|
|
|
* [[https://build.enlightenment.org/job/nightly_efl_gcc_x86_64/lastSuccessfulBuild/artifact/doc/html/eina_main.html|Eina API]]
|
|
* [[https://build.enlightenment.org/job/nightly_efl_gcc_x86_64/lastSuccessfulBuild/artifact/doc/html/eina_examples.html|Eina Examples]]
|
|
|
|
==== Data Types ====
|
|
|
|
The Eina library is a central part of the EFL. It implements an API for
|
|
data types, and allows you to create and manipulate several data types.
|
|
|
|
* [[/program_guide/eina/arrays#Creating_and_Destroying_an_Inline_Array|Inline Array]]: standard array of inlined members
|
|
* [[/program_guide/eina/arrays|Array]]: standard array of ''void*'' data
|
|
* [[/program_guide/eina/hash_tables|Hash Table]]: standard hash of void* data
|
|
* [[/program_guide/eina/lists#Using_an_Inline_List|Inline List]]: list with nodes inlined into the user type
|
|
* Compact List
|
|
* [[/program_guide/eina/lists|List]]: standard list of ''void*'' data
|
|
* [[/program_guide/eina/iterator_functions|Iterator Functions]]
|
|
* Sparse Matrix: sparse matrix of ''void*'' data
|
|
* Red-Black tree: red-black tree with nodes inlined into the user type
|
|
* [[/program_guide/eina/strings#String_Buffer|String Buffer]]: mutable string to prepend, insert, or append strings to a buffer
|
|
* [[/program_guide/eina/strings#Stringshare|Stringshare]]: shares read-only string references
|
|
* Tiler split: merges and navigates into 2D tiled regions
|
|
* Trash: container of unused but allocated data
|
|
* [[/program_guide/eina/generic_value|Generic Value Storage]]: container for generic value storage and access
|
|
* Data Model API: container for data with a user-defined hierarchy or structure
|
|
|
|
==== Eina Tools ====
|
|
|
|
Eina provides a number of tools, such as string manipulation, that make
|
|
your life easier when coding applications.
|
|
|
|
* Convert fast: conversion from, for example, strings to integers and double
|
|
* Counter: measures the number of calls and their time
|
|
* Error: error identifiers
|
|
* File: file list and path split
|
|
* Lazy allocator: lazy allocator
|
|
* Log: full-featured logging system
|
|
* Magic: provides runtime type checking
|
|
* [[/program_guide/eina/memory_pool_tools|Memory Pool]]: abstraction for various memory allocators
|
|
* Module lists: loads and shares modules using the ''Eina_Module'' standard
|
|
* Rectangle: rectangle structure and standard manipulation methods
|
|
* [[/program_guide/eina/safety_checks_tools|Safety Checks]]: extra checks that report unexpected conditions and can be disabled during compilation
|
|
* [[/program_guide/eina/string_tools|String]]: set of functions that manage C strings
|
|
|
|
----
|
|
{{page>index}}
|