UtiLite is an homemade library that I've done for my projects. You can look at the
API documentation for a description of the main modules. If you use already boost or Qt, you may not find it useful. UtiLite can be seem as a very lightweight solution comparing to these two projects, so for a small project not using boost or Qt, it can be useful.
In RTAB-Map, the core is using only UtiLite's methods, so RTAB-Map can be built without Qt. Threading (
UThread) and communication between threads (
UEventsManager,
UEventsHandler) can be achieved with this library. Well, they are not useful if you use already threads and signals from Qt or Boost (note that a signal-based approach is more efficient than an event-based approach).
What I use VERY often (even within a Qt project) is the logger to print stuff in console or a file for debugging. It is very inspired from ROS_DEBUG, ROS_INFO... formatting. See
ULogger page for an example.
Another thing if you are using Qt is
UPlot for plotting curves in MATLAB-like style. You can copy only UPlot.cpp and UPlot.h to have the widget alone (remove ULogger.h dependency to use alone). In
RTAB-Map's Statistics panel when you show a curve, this is the widget that is used.
cheers,
Mathieu