Menu

Tree [290393] master /
 History

HTTPS access


File Date Author Commit
 docs 2016-02-14 Giampiero Gabbiani Giampiero Gabbiani [e2c980] fixed compressed svg docs in gentoo ebuild
 examples 2015-02-21 Giampiero Gabbiani Giampiero Gabbiani [646a02] dockerized binary build
 include 2016-05-29 Giampiero Gabbiani Giampiero Gabbiani [4b0642] fixed documentation for eel::PostconditionViola...
 platforms 2016-03-16 Giampiero Gabbiani Giampiero Gabbiani [a64060] added cmake-sdk sub module, removed support for...
 src 2015-02-19 Giampiero Gabbiani Giampiero Gabbiani [52c8f1] docker integrations and minor updates
 third-part 2014-02-03 Giampiero Gabbiani Giampiero Gabbiani [55b8d3] first import
 unit-tests 2016-05-29 Giampiero Gabbiani Giampiero Gabbiani [f0396c] fixed wrong dependency from TSL
 .gitignore 2016-02-13 Giampiero Gabbiani Giampiero Gabbiani [a3789c] - fixed wrong install path for API docs;
 .gitmodules 2016-04-29 Giampiero Gabbiani Giampiero Gabbiani [94e431] added cmake-sdk
 CMakeLists.txt 2017-07-02 Giampiero Gabbiani Giampiero Gabbiani [290393] added abi-dumper support
 ChangeLog.md 2017-06-26 Giampiero Gabbiani Giampiero Gabbiani [ddcd0e] bumped release
 INSTALL.md 2016-02-13 Giampiero Gabbiani Giampiero Gabbiani [a3789c] - fixed wrong install path for API docs;
 README.md 2017-02-15 Giampiero Gabbiani Giampiero Gabbiani [312fe0] updated supported distro release number
 TODO.md 2016-02-13 Giampiero Gabbiani Giampiero Gabbiani [a3789c] - fixed wrong install path for API docs;
 eel.ebuild 2016-02-13 Giampiero Gabbiani Giampiero Gabbiani [78a8e1] fixed double install path for API docs
 project.env.in 2016-03-16 Giampiero Gabbiani Giampiero Gabbiani [a64060] added cmake-sdk sub module, removed support for...
 src-list.txt 2016-03-16 Giampiero Gabbiani Giampiero Gabbiani [a64060] added cmake-sdk sub module, removed support for...

Read Me

EEL

EEL stands for 'Extensible Exception Library': it is a simple framework for C++11 exception handling.
The concepts behind are the following:

  • contextual defaults for Exception payload. It possible to anticipate the values used for variable substitution through a scoped stack-based contextual information.
  • compatibility with the existing std::exception(s);
  • extendible generic payload for transporting any kind of informations through C++ exceptions (eel::Attributes)
  • simple mechanism for extending the payload during the exception handler backtrace (eel::Exception::operator << ())
  • coherent semantic in the so resulting exceptions for the final user (Message IDs templates and eel::Exception::what() overriden method)
  • low-level diagnostic informations provided 'on demand' (eel::Exception::dump() method);

C++ standard exception hierarchy

The C++ standard exceptions are thought with efficiency in mind: this means
that - even if possible - they decided not to use virtual inheritance.
As a side effect, the multiple inheritance mechanism is unusable when the
backtrace tree contructor arrives to standard exceptions because of the
pertinent constructors would be ambiguous and - as such - marked as 'deleted'.

Concretely this means that is not possible to have a unique general exception
handler for eel classes not directly derived by the std::exception.

This is not to a bug but an architectural decision taken by the standard
exception library designers.

Features:

  • compatibility with std::exception;
  • extensible attribute setting mechanism;
  • message IDs template based;

Distro supported:

  • CentOS 7
  • Debian 8
  • Fedora 25
  • OpenSUSE Leap 42.1
  • Ubuntu 16
Want the latest updates on software, tech news, and AI?
Get latest updates about software, tech news, and AI from SourceForge directly in your inbox once a month.