# Eina Programming Guide - Tools #

The ``Eina`` library provides a range of tools for handling common tasks. The following tools are documented:

## Eina Logging ##

[The ``Eina_Log`` Tool](logging.md) provides control over logging facilities for libraries and application, offering colored logging, basic logging levels (error, warning, debug, info, critical) and logging domains.

## String Tool ##

[The String Tool](eina-string-tool.md) offers a range of string-handling capabilities from conversion to or from upper or lower case, splitting, joining, and matching strings.

## Memory Pools ##

[The Memory Pool Tool](eina-mempool.md) provides simple handling of memory pools, designed to preallocate fixed-size memory spaces and simplify memory management tasks.

## Safety Checks ##

[The Safety Checks](eina-safety-checks.md) are a collection of macros designed to check for parameters or values which must never occur, in a similar manner to the ``assert()`` function but with logging and returning capabilities rather than outright abortion.