The ROS Support Library (RSL) is a collection of C++17 utilities for ROS projects. It contains code that PickNik has found helpful on various client projects, and we are consolidating these tools into one place to open-source them.
Some of the standout features of RSL include the
monad.hpp header, which provides functions and operators for monadic expressions, and the
overload.hpp header, which allows nicer syntax for visiting variants. RSL includes the
no_discard.hpp header, which provides a
[[nodiscard]] attribute for lambdas, and the
queue.hpp header, which offers a thread-safe queue.
Tyler Weaver and Chris Thrasher authored and maintain RSL, and it has 99% code coverage. It is licensed under the BSD-3-clause license, and it is an excellent example of the best practices for creating a ROS library from PickNik.
We invite you to check it out today!