RSL is a collection of C++17 utilities for ROS projects.
Read the docs here.
- algorithm - Functions for inspecting collections
- monad.hpp - Functions and operators for monadic expressions
- no_discard.hpp -
[[nodiscard]]
for lambdas - overload.hpp - Class template for easily visiting variants
- parameter_validators.hpp - Functions for validating rclcpp::Parameter
- queue.hpp - Thread-safe queue
- random.hpp - Modern C++ randomness made easy
- static_string.hpp - Static capacity string class
- static_vector.hpp - Static capacity vector class
- strong_type.hpp - Strong typedef class
- try.hpp - Macro to emulatate absl::CONFIRM or operator? from Rust
No C++ API changes were made between version 0 and version 1, but a change to the build interface was made.
Because we stopped using ament CMake macros, you cannot use ament_target_dependencies
to link to RSL.
You must instead use target_link_libraries(... rsl::rsl)
as you would any other non-ament CMake library.