Introducing RSL: A Collection of C++17 Utilities for ROS Projects

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!



Big fan of the thread-safe queue implementation in RSL, which I used for one of my projects and I hope to use in other places!

1 Like