libcsdbg is a C++ exception stack tracer. When an exception is thrown, caught, and handled, libcsdbg offers the tools to create and process the exception stack trace, the path the exception has propagated up the call stack, unwinding it up to the section were it was handled. The traces are detailed with demangled function signatures and additional addr2line information (the source code file and line from which each function was called). libcsdbg can use all the well-known objective code file formats (a.out, elf, coff, ecoff, etc.) and can easily be used as the base for your own instrumentation code. libcsdbg transparently loads the symbol tables of the chosen dynamic libraries and of the executable, demangles function symbols to complete signatures, and binds function names to runtime addresses (even for the DSO symbols).
Armadillo is a C++ linear algebra library (matrix maths) aiming towards a good balance between speed and ease of use. The API is deliberately similar to Matlab's. Integer, floating point, and complex numbers are supported, as well as a subset of trigonometric and statistics functions. Various matrix decompositions are provided through optional integration with LAPACK and ATLAS numerics libraries. A delayed evaluation approach, based on template meta-programming, is used (during compile time) to combine several operations into one and reduce or eliminate the need for temporaries.
HC-SR04 Ultrasonic Arduino Library is specifically for the HC-SR04 ultrasonic sensor. It features timing, metric conversion, and standard deviation methods, plus a few support methods. It is written in C++ to conserve the namespace. The conversion formula can be easily modified to optimize the accuracy of conversion at different distances for inches and centimeters. Multiple buffers of different lengths can be created for determining standard deviation.
MeteoIO is a C++ library whose main design goals are: providing meteorological data format/protocol independent data access; providing safe and robust I/O; making I/O code as unobtrusive and simple as possible for the user; providing ready to use data to the user (transparent caching, filtering, resampling, and spatial interpolation); enabling unattended use from an I/O point of view; offering high modularity so that individual elements of the library can easily be replaced/expanded/added; and by its modularity, help interdisciplinary development, each module being targeted at a specific developer profile.
libquickmail is a library intended to give C/C++ developers a quick and easy way to send email from their applications. It supports multiple To/Cc/Bcc recipients and multiple MIME attachments without size limitation. It uses libcurl for SMTP communication, but a light version is also included without the libcurl dependancy. The library can also be used to just create a multipart MIME message body. It also comes with a command line application for sending mail (with optional attachments).
sqlpp11 is an embedded domain-specific language which allows programming SQL very naturally in modern C++. It also enables the compiler to detect syntax errors, type errors, name errors, and even some semantic errors before they ever hit unit tests or production. Queries can be constructed at compile time or run time, offering varying levels of safety and flexibility.
Papyrus is a 2D C++ scenegraph (canvas) library that utilizes the cairo library to perform drawing operations. Similar canvas libraries are the Gnome Canvas, Diacanvas, and the QT Canvas. Numerous canvas primitives are available, including arcs, rectangles, polylines, and line markers. An optional companion library, Papyrusmm, provides a set of Gtkmm widgets which includes viewports (a canvas display widget similar to Gtk::DrawingArea) and other UI widgets related to drawing interfaces.
TooN is a very efficient numerics library for C++. The main focus of the library is efficient and safe handling of large numbers of small vector matrices and providing as much compile time checking as is possible. The library also works with large vectors and matrices and integrates easily with existing code. In addition to elementary vector and matrix operations, the library also providers linear solvers, matrix decompositions, optimization, and wrappers around LAPACK.