Package Summary
Tags | No category tags. |
Version | 1.2.0 |
License | BSD-3-Clause |
Build type | CATKIN |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/PickNikRobotics/RSL.git |
VCS Type | git |
VCS Version | main |
Last Updated | 2025-06-12 |
Dev Status | DEVELOPED |
CI status | No Continuous Integration |
Released | RELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
Package Description
Additional Links
Maintainers
- Tyler Weaver
- Chris Thrasher
Authors
- Tyler Weaver
- Chris Thrasher
ROS Support Library (RSL)
RSL is a collection of C++17 utilities for ROS projects.
Read the docs here.
Killer Features
- 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
Changelog for package rsl
1.2.0 (2025-06-11)
- Remove devcontainer
- Fix new clang-tidy warnings
- Update Catch2
- Ensure FindEigen3.cmake is not used (#126)
- Eigen: Add NO_MODULE to find_package (#125) Work around RHEL 8 failure due to a faulty FindEigen3.cmake module being found
- Hide symbols from shared libraries by default and support DLL creation
- Fix static_string.cpp compilation with MSVC standard library std::array's iterator is a pointer in libc++ and libstdc++ so [const auto*]{.title-ref} works fine. However the array iterator is not a pointer on MSVC so compilation fails. Removing the asterisk still results in a pointer type being used but causes a clang-tidy check to fail so we have to disable that.
- Disable TRY macro tests on MSVC
- Disable compiler warnings by default Unconditionally enabling -Werror is a heavy-handed approach and not ideal when shipping code to be used by many third parties. In fact it's even better to disable warnings by default since compiler warnings are not hard requirements. They're merely a development tool that developers should opt into.
- Contributors: Chris Thrasher, Christoph Fröhlich, Griswald Brooks, mosfet80
1.1.0 (2023-12-20)
- Fix [ament_target_dependencies]{.title-ref} integration
- Add [rsl::maybe_error]{.title-ref}
- Disable tests by default
- Stop using non-standard [M_PI]{.title-ref}
- Contributors: Chris Thrasher
1.0.1 (2023-12-06)
- Add more messages for assertion failures
- Document API changes from v0 to v1
- Contributors: Chris Thrasher
1.0.0 (2023-12-04)
- Add [rsl::StrongType]{.title-ref}
- Quote values in error messages
- Make doxygen a weak dependency
- Mark git as a test dependency
- Contributors: Andrew, Chris Thrasher, Michael Carroll, Tyler Weaver, andrea
0.2.2 (2023-03-23)
- Deprecate [rsl::lower_bounds]{.title-ref} and [rsl::upper_bounds]{.title-ref}
- Depend on ament_cmake_ros for SHARED default
- Upgrade with new pkgs to fix issue with ROS
- Update Catch2
- Contributors: Chris Thrasher, Tyler Weaver
0.2.1 (2022-11-29)
- Use constructors over factory functions when possible
- Implement [rsl::rng]{.title-ref} with [std::optional]{.title-ref}
- Fix bug when trying to seed rng from first call
- Make [rsl::rng()]{.title-ref} tests more strenuous Seeding on the first call tests a code path that hadn't yet been tested but is a valid use of the API.
- Change version of range-v3 to allow building on Ubuntu Focal (#73)
- Add missing header Fixes a build issue when using GCC 12
- Make it easy for users to override
- Update Catch2
- Add tests for [rsl::to_parameter_result_msg]{.title-ref}
- Contributors: Chris Thrasher, Tony Najjar, Tyler Weaver
0.2.0 (2022-11-15)
- New features
- rclcpp::Parameter validator functions
- Algorithms from parameter_traits
- [rsl::StaticVector]{.title-ref} and [rsl::StaticString]{.title-ref}
- Doxygen site: https://picknikrobotics.github.io/RSL/files.html
- Link to the docs from the README
- Use doxygen-awesome documentation style
- Deploy documentation website from CI
- Add Doxygen comments for [rsl::Overload]{.title-ref}
- Add Doxygen comments for [TRY]{.title-ref}
- Cleanups
- Prevent unnecessary string copy
- Ensure global constants do not violate the ODR
- Hide [rsl::NoDiscard]{.title-ref} implementation details
- Use more [[[nodiscard]]]{.title-ref}
- Fix to_vector for vector<bool>
- Ensure static container iterators are used
- Default to building a shared library
File truncated at 100 lines see the full file
Wiki Tutorials
Launch files
Messages
Services
Plugins
Recent questions tagged rsl at Robotics Stack Exchange
Package Summary
Tags | No category tags. |
Version | 1.2.0 |
License | BSD-3-Clause |
Build type | CATKIN |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/PickNikRobotics/RSL.git |
VCS Type | git |
VCS Version | main |
Last Updated | 2025-06-12 |
Dev Status | DEVELOPED |
CI status | No Continuous Integration |
Released | RELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
Package Description
Additional Links
Maintainers
- Tyler Weaver
- Chris Thrasher
Authors
- Tyler Weaver
- Chris Thrasher
ROS Support Library (RSL)
RSL is a collection of C++17 utilities for ROS projects.
Read the docs here.
Killer Features
- 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
Changelog for package rsl
1.2.0 (2025-06-11)
- Remove devcontainer
- Fix new clang-tidy warnings
- Update Catch2
- Ensure FindEigen3.cmake is not used (#126)
- Eigen: Add NO_MODULE to find_package (#125) Work around RHEL 8 failure due to a faulty FindEigen3.cmake module being found
- Hide symbols from shared libraries by default and support DLL creation
- Fix static_string.cpp compilation with MSVC standard library std::array's iterator is a pointer in libc++ and libstdc++ so [const auto*]{.title-ref} works fine. However the array iterator is not a pointer on MSVC so compilation fails. Removing the asterisk still results in a pointer type being used but causes a clang-tidy check to fail so we have to disable that.
- Disable TRY macro tests on MSVC
- Disable compiler warnings by default Unconditionally enabling -Werror is a heavy-handed approach and not ideal when shipping code to be used by many third parties. In fact it's even better to disable warnings by default since compiler warnings are not hard requirements. They're merely a development tool that developers should opt into.
- Contributors: Chris Thrasher, Christoph Fröhlich, Griswald Brooks, mosfet80
1.1.0 (2023-12-20)
- Fix [ament_target_dependencies]{.title-ref} integration
- Add [rsl::maybe_error]{.title-ref}
- Disable tests by default
- Stop using non-standard [M_PI]{.title-ref}
- Contributors: Chris Thrasher
1.0.1 (2023-12-06)
- Add more messages for assertion failures
- Document API changes from v0 to v1
- Contributors: Chris Thrasher
1.0.0 (2023-12-04)
- Add [rsl::StrongType]{.title-ref}
- Quote values in error messages
- Make doxygen a weak dependency
- Mark git as a test dependency
- Contributors: Andrew, Chris Thrasher, Michael Carroll, Tyler Weaver, andrea
0.2.2 (2023-03-23)
- Deprecate [rsl::lower_bounds]{.title-ref} and [rsl::upper_bounds]{.title-ref}
- Depend on ament_cmake_ros for SHARED default
- Upgrade with new pkgs to fix issue with ROS
- Update Catch2
- Contributors: Chris Thrasher, Tyler Weaver
0.2.1 (2022-11-29)
- Use constructors over factory functions when possible
- Implement [rsl::rng]{.title-ref} with [std::optional]{.title-ref}
- Fix bug when trying to seed rng from first call
- Make [rsl::rng()]{.title-ref} tests more strenuous Seeding on the first call tests a code path that hadn't yet been tested but is a valid use of the API.
- Change version of range-v3 to allow building on Ubuntu Focal (#73)
- Add missing header Fixes a build issue when using GCC 12
- Make it easy for users to override
- Update Catch2
- Add tests for [rsl::to_parameter_result_msg]{.title-ref}
- Contributors: Chris Thrasher, Tony Najjar, Tyler Weaver
0.2.0 (2022-11-15)
- New features
- rclcpp::Parameter validator functions
- Algorithms from parameter_traits
- [rsl::StaticVector]{.title-ref} and [rsl::StaticString]{.title-ref}
- Doxygen site: https://picknikrobotics.github.io/RSL/files.html
- Link to the docs from the README
- Use doxygen-awesome documentation style
- Deploy documentation website from CI
- Add Doxygen comments for [rsl::Overload]{.title-ref}
- Add Doxygen comments for [TRY]{.title-ref}
- Cleanups
- Prevent unnecessary string copy
- Ensure global constants do not violate the ODR
- Hide [rsl::NoDiscard]{.title-ref} implementation details
- Use more [[[nodiscard]]]{.title-ref}
- Fix to_vector for vector<bool>
- Ensure static container iterators are used
- Default to building a shared library
File truncated at 100 lines see the full file
Wiki Tutorials
Launch files
Messages
Services
Plugins
Recent questions tagged rsl at Robotics Stack Exchange
Package Summary
Tags | No category tags. |
Version | 1.2.0 |
License | BSD-3-Clause |
Build type | CATKIN |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/PickNikRobotics/RSL.git |
VCS Type | git |
VCS Version | main |
Last Updated | 2025-06-12 |
Dev Status | DEVELOPED |
CI status | No Continuous Integration |
Released | RELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
Package Description
Additional Links
Maintainers
- Tyler Weaver
- Chris Thrasher
Authors
- Tyler Weaver
- Chris Thrasher
ROS Support Library (RSL)
RSL is a collection of C++17 utilities for ROS projects.
Read the docs here.
Killer Features
- 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
Changelog for package rsl
1.2.0 (2025-06-11)
- Remove devcontainer
- Fix new clang-tidy warnings
- Update Catch2
- Ensure FindEigen3.cmake is not used (#126)
- Eigen: Add NO_MODULE to find_package (#125) Work around RHEL 8 failure due to a faulty FindEigen3.cmake module being found
- Hide symbols from shared libraries by default and support DLL creation
- Fix static_string.cpp compilation with MSVC standard library std::array's iterator is a pointer in libc++ and libstdc++ so [const auto*]{.title-ref} works fine. However the array iterator is not a pointer on MSVC so compilation fails. Removing the asterisk still results in a pointer type being used but causes a clang-tidy check to fail so we have to disable that.
- Disable TRY macro tests on MSVC
- Disable compiler warnings by default Unconditionally enabling -Werror is a heavy-handed approach and not ideal when shipping code to be used by many third parties. In fact it's even better to disable warnings by default since compiler warnings are not hard requirements. They're merely a development tool that developers should opt into.
- Contributors: Chris Thrasher, Christoph Fröhlich, Griswald Brooks, mosfet80
1.1.0 (2023-12-20)
- Fix [ament_target_dependencies]{.title-ref} integration
- Add [rsl::maybe_error]{.title-ref}
- Disable tests by default
- Stop using non-standard [M_PI]{.title-ref}
- Contributors: Chris Thrasher
1.0.1 (2023-12-06)
- Add more messages for assertion failures
- Document API changes from v0 to v1
- Contributors: Chris Thrasher
1.0.0 (2023-12-04)
- Add [rsl::StrongType]{.title-ref}
- Quote values in error messages
- Make doxygen a weak dependency
- Mark git as a test dependency
- Contributors: Andrew, Chris Thrasher, Michael Carroll, Tyler Weaver, andrea
0.2.2 (2023-03-23)
- Deprecate [rsl::lower_bounds]{.title-ref} and [rsl::upper_bounds]{.title-ref}
- Depend on ament_cmake_ros for SHARED default
- Upgrade with new pkgs to fix issue with ROS
- Update Catch2
- Contributors: Chris Thrasher, Tyler Weaver
0.2.1 (2022-11-29)
- Use constructors over factory functions when possible
- Implement [rsl::rng]{.title-ref} with [std::optional]{.title-ref}
- Fix bug when trying to seed rng from first call
- Make [rsl::rng()]{.title-ref} tests more strenuous Seeding on the first call tests a code path that hadn't yet been tested but is a valid use of the API.
- Change version of range-v3 to allow building on Ubuntu Focal (#73)
- Add missing header Fixes a build issue when using GCC 12
- Make it easy for users to override
- Update Catch2
- Add tests for [rsl::to_parameter_result_msg]{.title-ref}
- Contributors: Chris Thrasher, Tony Najjar, Tyler Weaver
0.2.0 (2022-11-15)
- New features
- rclcpp::Parameter validator functions
- Algorithms from parameter_traits
- [rsl::StaticVector]{.title-ref} and [rsl::StaticString]{.title-ref}
- Doxygen site: https://picknikrobotics.github.io/RSL/files.html
- Link to the docs from the README
- Use doxygen-awesome documentation style
- Deploy documentation website from CI
- Add Doxygen comments for [rsl::Overload]{.title-ref}
- Add Doxygen comments for [TRY]{.title-ref}
- Cleanups
- Prevent unnecessary string copy
- Ensure global constants do not violate the ODR
- Hide [rsl::NoDiscard]{.title-ref} implementation details
- Use more [[[nodiscard]]]{.title-ref}
- Fix to_vector for vector<bool>
- Ensure static container iterators are used
- Default to building a shared library
File truncated at 100 lines see the full file
Wiki Tutorials
Launch files
Messages
Services
Plugins
Recent questions tagged rsl at Robotics Stack Exchange
Package Summary
Tags | No category tags. |
Version | 1.2.0 |
License | BSD-3-Clause |
Build type | CATKIN |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/PickNikRobotics/RSL.git |
VCS Type | git |
VCS Version | main |
Last Updated | 2025-06-12 |
Dev Status | DEVELOPED |
CI status | No Continuous Integration |
Released | RELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
Package Description
Additional Links
Maintainers
- Tyler Weaver
- Chris Thrasher
Authors
- Tyler Weaver
- Chris Thrasher
ROS Support Library (RSL)
RSL is a collection of C++17 utilities for ROS projects.
Read the docs here.
Killer Features
- 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
Changelog for package rsl
1.2.0 (2025-06-11)
- Remove devcontainer
- Fix new clang-tidy warnings
- Update Catch2
- Ensure FindEigen3.cmake is not used (#126)
- Eigen: Add NO_MODULE to find_package (#125) Work around RHEL 8 failure due to a faulty FindEigen3.cmake module being found
- Hide symbols from shared libraries by default and support DLL creation
- Fix static_string.cpp compilation with MSVC standard library std::array's iterator is a pointer in libc++ and libstdc++ so [const auto*]{.title-ref} works fine. However the array iterator is not a pointer on MSVC so compilation fails. Removing the asterisk still results in a pointer type being used but causes a clang-tidy check to fail so we have to disable that.
- Disable TRY macro tests on MSVC
- Disable compiler warnings by default Unconditionally enabling -Werror is a heavy-handed approach and not ideal when shipping code to be used by many third parties. In fact it's even better to disable warnings by default since compiler warnings are not hard requirements. They're merely a development tool that developers should opt into.
- Contributors: Chris Thrasher, Christoph Fröhlich, Griswald Brooks, mosfet80
1.1.0 (2023-12-20)
- Fix [ament_target_dependencies]{.title-ref} integration
- Add [rsl::maybe_error]{.title-ref}
- Disable tests by default
- Stop using non-standard [M_PI]{.title-ref}
- Contributors: Chris Thrasher
1.0.1 (2023-12-06)
- Add more messages for assertion failures
- Document API changes from v0 to v1
- Contributors: Chris Thrasher
1.0.0 (2023-12-04)
- Add [rsl::StrongType]{.title-ref}
- Quote values in error messages
- Make doxygen a weak dependency
- Mark git as a test dependency
- Contributors: Andrew, Chris Thrasher, Michael Carroll, Tyler Weaver, andrea
0.2.2 (2023-03-23)
- Deprecate [rsl::lower_bounds]{.title-ref} and [rsl::upper_bounds]{.title-ref}
- Depend on ament_cmake_ros for SHARED default
- Upgrade with new pkgs to fix issue with ROS
- Update Catch2
- Contributors: Chris Thrasher, Tyler Weaver
0.2.1 (2022-11-29)
- Use constructors over factory functions when possible
- Implement [rsl::rng]{.title-ref} with [std::optional]{.title-ref}
- Fix bug when trying to seed rng from first call
- Make [rsl::rng()]{.title-ref} tests more strenuous Seeding on the first call tests a code path that hadn't yet been tested but is a valid use of the API.
- Change version of range-v3 to allow building on Ubuntu Focal (#73)
- Add missing header Fixes a build issue when using GCC 12
- Make it easy for users to override
- Update Catch2
- Add tests for [rsl::to_parameter_result_msg]{.title-ref}
- Contributors: Chris Thrasher, Tony Najjar, Tyler Weaver
0.2.0 (2022-11-15)
- New features
- rclcpp::Parameter validator functions
- Algorithms from parameter_traits
- [rsl::StaticVector]{.title-ref} and [rsl::StaticString]{.title-ref}
- Doxygen site: https://picknikrobotics.github.io/RSL/files.html
- Link to the docs from the README
- Use doxygen-awesome documentation style
- Deploy documentation website from CI
- Add Doxygen comments for [rsl::Overload]{.title-ref}
- Add Doxygen comments for [TRY]{.title-ref}
- Cleanups
- Prevent unnecessary string copy
- Ensure global constants do not violate the ODR
- Hide [rsl::NoDiscard]{.title-ref} implementation details
- Use more [[[nodiscard]]]{.title-ref}
- Fix to_vector for vector<bool>
- Ensure static container iterators are used
- Default to building a shared library
File truncated at 100 lines see the full file
Wiki Tutorials
Launch files
Messages
Services
Plugins
Recent questions tagged rsl at Robotics Stack Exchange
Package Summary
Tags | No category tags. |
Version | 1.2.0 |
License | BSD-3-Clause |
Build type | CATKIN |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/PickNikRobotics/RSL.git |
VCS Type | git |
VCS Version | main |
Last Updated | 2025-06-12 |
Dev Status | DEVELOPED |
CI status | No Continuous Integration |
Released | RELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
Package Description
Additional Links
Maintainers
- Tyler Weaver
- Chris Thrasher
Authors
- Tyler Weaver
- Chris Thrasher
ROS Support Library (RSL)
RSL is a collection of C++17 utilities for ROS projects.
Read the docs here.
Killer Features
- 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
Changelog for package rsl
1.2.0 (2025-06-11)
- Remove devcontainer
- Fix new clang-tidy warnings
- Update Catch2
- Ensure FindEigen3.cmake is not used (#126)
- Eigen: Add NO_MODULE to find_package (#125) Work around RHEL 8 failure due to a faulty FindEigen3.cmake module being found
- Hide symbols from shared libraries by default and support DLL creation
- Fix static_string.cpp compilation with MSVC standard library std::array's iterator is a pointer in libc++ and libstdc++ so [const auto*]{.title-ref} works fine. However the array iterator is not a pointer on MSVC so compilation fails. Removing the asterisk still results in a pointer type being used but causes a clang-tidy check to fail so we have to disable that.
- Disable TRY macro tests on MSVC
- Disable compiler warnings by default Unconditionally enabling -Werror is a heavy-handed approach and not ideal when shipping code to be used by many third parties. In fact it's even better to disable warnings by default since compiler warnings are not hard requirements. They're merely a development tool that developers should opt into.
- Contributors: Chris Thrasher, Christoph Fröhlich, Griswald Brooks, mosfet80
1.1.0 (2023-12-20)
- Fix [ament_target_dependencies]{.title-ref} integration
- Add [rsl::maybe_error]{.title-ref}
- Disable tests by default
- Stop using non-standard [M_PI]{.title-ref}
- Contributors: Chris Thrasher
1.0.1 (2023-12-06)
- Add more messages for assertion failures
- Document API changes from v0 to v1
- Contributors: Chris Thrasher
1.0.0 (2023-12-04)
- Add [rsl::StrongType]{.title-ref}
- Quote values in error messages
- Make doxygen a weak dependency
- Mark git as a test dependency
- Contributors: Andrew, Chris Thrasher, Michael Carroll, Tyler Weaver, andrea
0.2.2 (2023-03-23)
- Deprecate [rsl::lower_bounds]{.title-ref} and [rsl::upper_bounds]{.title-ref}
- Depend on ament_cmake_ros for SHARED default
- Upgrade with new pkgs to fix issue with ROS
- Update Catch2
- Contributors: Chris Thrasher, Tyler Weaver
0.2.1 (2022-11-29)
- Use constructors over factory functions when possible
- Implement [rsl::rng]{.title-ref} with [std::optional]{.title-ref}
- Fix bug when trying to seed rng from first call
- Make [rsl::rng()]{.title-ref} tests more strenuous Seeding on the first call tests a code path that hadn't yet been tested but is a valid use of the API.
- Change version of range-v3 to allow building on Ubuntu Focal (#73)
- Add missing header Fixes a build issue when using GCC 12
- Make it easy for users to override
- Update Catch2
- Add tests for [rsl::to_parameter_result_msg]{.title-ref}
- Contributors: Chris Thrasher, Tony Najjar, Tyler Weaver
0.2.0 (2022-11-15)
- New features
- rclcpp::Parameter validator functions
- Algorithms from parameter_traits
- [rsl::StaticVector]{.title-ref} and [rsl::StaticString]{.title-ref}
- Doxygen site: https://picknikrobotics.github.io/RSL/files.html
- Link to the docs from the README
- Use doxygen-awesome documentation style
- Deploy documentation website from CI
- Add Doxygen comments for [rsl::Overload]{.title-ref}
- Add Doxygen comments for [TRY]{.title-ref}
- Cleanups
- Prevent unnecessary string copy
- Ensure global constants do not violate the ODR
- Hide [rsl::NoDiscard]{.title-ref} implementation details
- Use more [[[nodiscard]]]{.title-ref}
- Fix to_vector for vector<bool>
- Ensure static container iterators are used
- Default to building a shared library
File truncated at 100 lines see the full file
Wiki Tutorials
Launch files
Messages
Services
Plugins
Recent questions tagged rsl at Robotics Stack Exchange
Package Summary
Tags | No category tags. |
Version | 1.2.0 |
License | BSD-3-Clause |
Build type | CATKIN |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/PickNikRobotics/RSL.git |
VCS Type | git |
VCS Version | main |
Last Updated | 2025-06-12 |
Dev Status | DEVELOPED |
CI status | No Continuous Integration |
Released | RELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
Package Description
Additional Links
Maintainers
- Tyler Weaver
- Chris Thrasher
Authors
- Tyler Weaver
- Chris Thrasher
ROS Support Library (RSL)
RSL is a collection of C++17 utilities for ROS projects.
Read the docs here.
Killer Features
- 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
Changelog for package rsl
1.2.0 (2025-06-11)
- Remove devcontainer
- Fix new clang-tidy warnings
- Update Catch2
- Ensure FindEigen3.cmake is not used (#126)
- Eigen: Add NO_MODULE to find_package (#125) Work around RHEL 8 failure due to a faulty FindEigen3.cmake module being found
- Hide symbols from shared libraries by default and support DLL creation
- Fix static_string.cpp compilation with MSVC standard library std::array's iterator is a pointer in libc++ and libstdc++ so [const auto*]{.title-ref} works fine. However the array iterator is not a pointer on MSVC so compilation fails. Removing the asterisk still results in a pointer type being used but causes a clang-tidy check to fail so we have to disable that.
- Disable TRY macro tests on MSVC
- Disable compiler warnings by default Unconditionally enabling -Werror is a heavy-handed approach and not ideal when shipping code to be used by many third parties. In fact it's even better to disable warnings by default since compiler warnings are not hard requirements. They're merely a development tool that developers should opt into.
- Contributors: Chris Thrasher, Christoph Fröhlich, Griswald Brooks, mosfet80
1.1.0 (2023-12-20)
- Fix [ament_target_dependencies]{.title-ref} integration
- Add [rsl::maybe_error]{.title-ref}
- Disable tests by default
- Stop using non-standard [M_PI]{.title-ref}
- Contributors: Chris Thrasher
1.0.1 (2023-12-06)
- Add more messages for assertion failures
- Document API changes from v0 to v1
- Contributors: Chris Thrasher
1.0.0 (2023-12-04)
- Add [rsl::StrongType]{.title-ref}
- Quote values in error messages
- Make doxygen a weak dependency
- Mark git as a test dependency
- Contributors: Andrew, Chris Thrasher, Michael Carroll, Tyler Weaver, andrea
0.2.2 (2023-03-23)
- Deprecate [rsl::lower_bounds]{.title-ref} and [rsl::upper_bounds]{.title-ref}
- Depend on ament_cmake_ros for SHARED default
- Upgrade with new pkgs to fix issue with ROS
- Update Catch2
- Contributors: Chris Thrasher, Tyler Weaver
0.2.1 (2022-11-29)
- Use constructors over factory functions when possible
- Implement [rsl::rng]{.title-ref} with [std::optional]{.title-ref}
- Fix bug when trying to seed rng from first call
- Make [rsl::rng()]{.title-ref} tests more strenuous Seeding on the first call tests a code path that hadn't yet been tested but is a valid use of the API.
- Change version of range-v3 to allow building on Ubuntu Focal (#73)
- Add missing header Fixes a build issue when using GCC 12
- Make it easy for users to override
- Update Catch2
- Add tests for [rsl::to_parameter_result_msg]{.title-ref}
- Contributors: Chris Thrasher, Tony Najjar, Tyler Weaver
0.2.0 (2022-11-15)
- New features
- rclcpp::Parameter validator functions
- Algorithms from parameter_traits
- [rsl::StaticVector]{.title-ref} and [rsl::StaticString]{.title-ref}
- Doxygen site: https://picknikrobotics.github.io/RSL/files.html
- Link to the docs from the README
- Use doxygen-awesome documentation style
- Deploy documentation website from CI
- Add Doxygen comments for [rsl::Overload]{.title-ref}
- Add Doxygen comments for [TRY]{.title-ref}
- Cleanups
- Prevent unnecessary string copy
- Ensure global constants do not violate the ODR
- Hide [rsl::NoDiscard]{.title-ref} implementation details
- Use more [[[nodiscard]]]{.title-ref}
- Fix to_vector for vector<bool>
- Ensure static container iterators are used
- Default to building a shared library
File truncated at 100 lines see the full file
Wiki Tutorials
Launch files
Messages
Services
Plugins
Recent questions tagged rsl at Robotics Stack Exchange
Package Summary
Tags | No category tags. |
Version | 1.2.0 |
License | BSD-3-Clause |
Build type | CATKIN |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/PickNikRobotics/RSL.git |
VCS Type | git |
VCS Version | main |
Last Updated | 2025-06-12 |
Dev Status | DEVELOPED |
CI status | No Continuous Integration |
Released | RELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
Package Description
Additional Links
Maintainers
- Tyler Weaver
- Chris Thrasher
Authors
- Tyler Weaver
- Chris Thrasher
ROS Support Library (RSL)
RSL is a collection of C++17 utilities for ROS projects.
Read the docs here.
Killer Features
- 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
Changelog for package rsl
1.2.0 (2025-06-11)
- Remove devcontainer
- Fix new clang-tidy warnings
- Update Catch2
- Ensure FindEigen3.cmake is not used (#126)
- Eigen: Add NO_MODULE to find_package (#125) Work around RHEL 8 failure due to a faulty FindEigen3.cmake module being found
- Hide symbols from shared libraries by default and support DLL creation
- Fix static_string.cpp compilation with MSVC standard library std::array's iterator is a pointer in libc++ and libstdc++ so [const auto*]{.title-ref} works fine. However the array iterator is not a pointer on MSVC so compilation fails. Removing the asterisk still results in a pointer type being used but causes a clang-tidy check to fail so we have to disable that.
- Disable TRY macro tests on MSVC
- Disable compiler warnings by default Unconditionally enabling -Werror is a heavy-handed approach and not ideal when shipping code to be used by many third parties. In fact it's even better to disable warnings by default since compiler warnings are not hard requirements. They're merely a development tool that developers should opt into.
- Contributors: Chris Thrasher, Christoph Fröhlich, Griswald Brooks, mosfet80
1.1.0 (2023-12-20)
- Fix [ament_target_dependencies]{.title-ref} integration
- Add [rsl::maybe_error]{.title-ref}
- Disable tests by default
- Stop using non-standard [M_PI]{.title-ref}
- Contributors: Chris Thrasher
1.0.1 (2023-12-06)
- Add more messages for assertion failures
- Document API changes from v0 to v1
- Contributors: Chris Thrasher
1.0.0 (2023-12-04)
- Add [rsl::StrongType]{.title-ref}
- Quote values in error messages
- Make doxygen a weak dependency
- Mark git as a test dependency
- Contributors: Andrew, Chris Thrasher, Michael Carroll, Tyler Weaver, andrea
0.2.2 (2023-03-23)
- Deprecate [rsl::lower_bounds]{.title-ref} and [rsl::upper_bounds]{.title-ref}
- Depend on ament_cmake_ros for SHARED default
- Upgrade with new pkgs to fix issue with ROS
- Update Catch2
- Contributors: Chris Thrasher, Tyler Weaver
0.2.1 (2022-11-29)
- Use constructors over factory functions when possible
- Implement [rsl::rng]{.title-ref} with [std::optional]{.title-ref}
- Fix bug when trying to seed rng from first call
- Make [rsl::rng()]{.title-ref} tests more strenuous Seeding on the first call tests a code path that hadn't yet been tested but is a valid use of the API.
- Change version of range-v3 to allow building on Ubuntu Focal (#73)
- Add missing header Fixes a build issue when using GCC 12
- Make it easy for users to override
- Update Catch2
- Add tests for [rsl::to_parameter_result_msg]{.title-ref}
- Contributors: Chris Thrasher, Tony Najjar, Tyler Weaver
0.2.0 (2022-11-15)
- New features
- rclcpp::Parameter validator functions
- Algorithms from parameter_traits
- [rsl::StaticVector]{.title-ref} and [rsl::StaticString]{.title-ref}
- Doxygen site: https://picknikrobotics.github.io/RSL/files.html
- Link to the docs from the README
- Use doxygen-awesome documentation style
- Deploy documentation website from CI
- Add Doxygen comments for [rsl::Overload]{.title-ref}
- Add Doxygen comments for [TRY]{.title-ref}
- Cleanups
- Prevent unnecessary string copy
- Ensure global constants do not violate the ODR
- Hide [rsl::NoDiscard]{.title-ref} implementation details
- Use more [[[nodiscard]]]{.title-ref}
- Fix to_vector for vector<bool>
- Ensure static container iterators are used
- Default to building a shared library
File truncated at 100 lines see the full file
Wiki Tutorials
Launch files
Messages
Services
Plugins
Recent questions tagged rsl at Robotics Stack Exchange
Package Summary
Tags | No category tags. |
Version | 1.2.0 |
License | BSD-3-Clause |
Build type | CATKIN |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/PickNikRobotics/RSL.git |
VCS Type | git |
VCS Version | main |
Last Updated | 2025-06-12 |
Dev Status | DEVELOPED |
CI status | No Continuous Integration |
Released | RELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
Package Description
Additional Links
Maintainers
- Tyler Weaver
- Chris Thrasher
Authors
- Tyler Weaver
- Chris Thrasher
ROS Support Library (RSL)
RSL is a collection of C++17 utilities for ROS projects.
Read the docs here.
Killer Features
- 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
Changelog for package rsl
1.2.0 (2025-06-11)
- Remove devcontainer
- Fix new clang-tidy warnings
- Update Catch2
- Ensure FindEigen3.cmake is not used (#126)
- Eigen: Add NO_MODULE to find_package (#125) Work around RHEL 8 failure due to a faulty FindEigen3.cmake module being found
- Hide symbols from shared libraries by default and support DLL creation
- Fix static_string.cpp compilation with MSVC standard library std::array's iterator is a pointer in libc++ and libstdc++ so [const auto*]{.title-ref} works fine. However the array iterator is not a pointer on MSVC so compilation fails. Removing the asterisk still results in a pointer type being used but causes a clang-tidy check to fail so we have to disable that.
- Disable TRY macro tests on MSVC
- Disable compiler warnings by default Unconditionally enabling -Werror is a heavy-handed approach and not ideal when shipping code to be used by many third parties. In fact it's even better to disable warnings by default since compiler warnings are not hard requirements. They're merely a development tool that developers should opt into.
- Contributors: Chris Thrasher, Christoph Fröhlich, Griswald Brooks, mosfet80
1.1.0 (2023-12-20)
- Fix [ament_target_dependencies]{.title-ref} integration
- Add [rsl::maybe_error]{.title-ref}
- Disable tests by default
- Stop using non-standard [M_PI]{.title-ref}
- Contributors: Chris Thrasher
1.0.1 (2023-12-06)
- Add more messages for assertion failures
- Document API changes from v0 to v1
- Contributors: Chris Thrasher
1.0.0 (2023-12-04)
- Add [rsl::StrongType]{.title-ref}
- Quote values in error messages
- Make doxygen a weak dependency
- Mark git as a test dependency
- Contributors: Andrew, Chris Thrasher, Michael Carroll, Tyler Weaver, andrea
0.2.2 (2023-03-23)
- Deprecate [rsl::lower_bounds]{.title-ref} and [rsl::upper_bounds]{.title-ref}
- Depend on ament_cmake_ros for SHARED default
- Upgrade with new pkgs to fix issue with ROS
- Update Catch2
- Contributors: Chris Thrasher, Tyler Weaver
0.2.1 (2022-11-29)
- Use constructors over factory functions when possible
- Implement [rsl::rng]{.title-ref} with [std::optional]{.title-ref}
- Fix bug when trying to seed rng from first call
- Make [rsl::rng()]{.title-ref} tests more strenuous Seeding on the first call tests a code path that hadn't yet been tested but is a valid use of the API.
- Change version of range-v3 to allow building on Ubuntu Focal (#73)
- Add missing header Fixes a build issue when using GCC 12
- Make it easy for users to override
- Update Catch2
- Add tests for [rsl::to_parameter_result_msg]{.title-ref}
- Contributors: Chris Thrasher, Tony Najjar, Tyler Weaver
0.2.0 (2022-11-15)
- New features
- rclcpp::Parameter validator functions
- Algorithms from parameter_traits
- [rsl::StaticVector]{.title-ref} and [rsl::StaticString]{.title-ref}
- Doxygen site: https://picknikrobotics.github.io/RSL/files.html
- Link to the docs from the README
- Use doxygen-awesome documentation style
- Deploy documentation website from CI
- Add Doxygen comments for [rsl::Overload]{.title-ref}
- Add Doxygen comments for [TRY]{.title-ref}
- Cleanups
- Prevent unnecessary string copy
- Ensure global constants do not violate the ODR
- Hide [rsl::NoDiscard]{.title-ref} implementation details
- Use more [[[nodiscard]]]{.title-ref}
- Fix to_vector for vector<bool>
- Ensure static container iterators are used
- Default to building a shared library
File truncated at 100 lines see the full file
Wiki Tutorials
Launch files
Messages
Services
Plugins
Recent questions tagged rsl at Robotics Stack Exchange
Package Summary
Tags | No category tags. |
Version | 1.2.0 |
License | BSD-3-Clause |
Build type | CATKIN |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/PickNikRobotics/RSL.git |
VCS Type | git |
VCS Version | main |
Last Updated | 2025-06-12 |
Dev Status | DEVELOPED |
CI status | No Continuous Integration |
Released | RELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
Package Description
Additional Links
Maintainers
- Tyler Weaver
- Chris Thrasher
Authors
- Tyler Weaver
- Chris Thrasher
ROS Support Library (RSL)
RSL is a collection of C++17 utilities for ROS projects.
Read the docs here.
Killer Features
- 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
Changelog for package rsl
1.2.0 (2025-06-11)
- Remove devcontainer
- Fix new clang-tidy warnings
- Update Catch2
- Ensure FindEigen3.cmake is not used (#126)
- Eigen: Add NO_MODULE to find_package (#125) Work around RHEL 8 failure due to a faulty FindEigen3.cmake module being found
- Hide symbols from shared libraries by default and support DLL creation
- Fix static_string.cpp compilation with MSVC standard library std::array's iterator is a pointer in libc++ and libstdc++ so [const auto*]{.title-ref} works fine. However the array iterator is not a pointer on MSVC so compilation fails. Removing the asterisk still results in a pointer type being used but causes a clang-tidy check to fail so we have to disable that.
- Disable TRY macro tests on MSVC
- Disable compiler warnings by default Unconditionally enabling -Werror is a heavy-handed approach and not ideal when shipping code to be used by many third parties. In fact it's even better to disable warnings by default since compiler warnings are not hard requirements. They're merely a development tool that developers should opt into.
- Contributors: Chris Thrasher, Christoph Fröhlich, Griswald Brooks, mosfet80
1.1.0 (2023-12-20)
- Fix [ament_target_dependencies]{.title-ref} integration
- Add [rsl::maybe_error]{.title-ref}
- Disable tests by default
- Stop using non-standard [M_PI]{.title-ref}
- Contributors: Chris Thrasher
1.0.1 (2023-12-06)
- Add more messages for assertion failures
- Document API changes from v0 to v1
- Contributors: Chris Thrasher
1.0.0 (2023-12-04)
- Add [rsl::StrongType]{.title-ref}
- Quote values in error messages
- Make doxygen a weak dependency
- Mark git as a test dependency
- Contributors: Andrew, Chris Thrasher, Michael Carroll, Tyler Weaver, andrea
0.2.2 (2023-03-23)
- Deprecate [rsl::lower_bounds]{.title-ref} and [rsl::upper_bounds]{.title-ref}
- Depend on ament_cmake_ros for SHARED default
- Upgrade with new pkgs to fix issue with ROS
- Update Catch2
- Contributors: Chris Thrasher, Tyler Weaver
0.2.1 (2022-11-29)
- Use constructors over factory functions when possible
- Implement [rsl::rng]{.title-ref} with [std::optional]{.title-ref}
- Fix bug when trying to seed rng from first call
- Make [rsl::rng()]{.title-ref} tests more strenuous Seeding on the first call tests a code path that hadn't yet been tested but is a valid use of the API.
- Change version of range-v3 to allow building on Ubuntu Focal (#73)
- Add missing header Fixes a build issue when using GCC 12
- Make it easy for users to override
- Update Catch2
- Add tests for [rsl::to_parameter_result_msg]{.title-ref}
- Contributors: Chris Thrasher, Tony Najjar, Tyler Weaver
0.2.0 (2022-11-15)
- New features
- rclcpp::Parameter validator functions
- Algorithms from parameter_traits
- [rsl::StaticVector]{.title-ref} and [rsl::StaticString]{.title-ref}
- Doxygen site: https://picknikrobotics.github.io/RSL/files.html
- Link to the docs from the README
- Use doxygen-awesome documentation style
- Deploy documentation website from CI
- Add Doxygen comments for [rsl::Overload]{.title-ref}
- Add Doxygen comments for [TRY]{.title-ref}
- Cleanups
- Prevent unnecessary string copy
- Ensure global constants do not violate the ODR
- Hide [rsl::NoDiscard]{.title-ref} implementation details
- Use more [[[nodiscard]]]{.title-ref}
- Fix to_vector for vector<bool>
- Ensure static container iterators are used
- Default to building a shared library
File truncated at 100 lines see the full file
Wiki Tutorials
Launch files
Messages
Services
Plugins
Recent questions tagged rsl at Robotics Stack Exchange
Package Summary
Tags | No category tags. |
Version | 1.2.0 |
License | BSD-3-Clause |
Build type | CATKIN |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/PickNikRobotics/RSL.git |
VCS Type | git |
VCS Version | main |
Last Updated | 2025-06-12 |
Dev Status | DEVELOPED |
CI status | No Continuous Integration |
Released | RELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
Package Description
Additional Links
Maintainers
- Tyler Weaver
- Chris Thrasher
Authors
- Tyler Weaver
- Chris Thrasher
ROS Support Library (RSL)
RSL is a collection of C++17 utilities for ROS projects.
Read the docs here.
Killer Features
- 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
Changelog for package rsl
1.2.0 (2025-06-11)
- Remove devcontainer
- Fix new clang-tidy warnings
- Update Catch2
- Ensure FindEigen3.cmake is not used (#126)
- Eigen: Add NO_MODULE to find_package (#125) Work around RHEL 8 failure due to a faulty FindEigen3.cmake module being found
- Hide symbols from shared libraries by default and support DLL creation
- Fix static_string.cpp compilation with MSVC standard library std::array's iterator is a pointer in libc++ and libstdc++ so [const auto*]{.title-ref} works fine. However the array iterator is not a pointer on MSVC so compilation fails. Removing the asterisk still results in a pointer type being used but causes a clang-tidy check to fail so we have to disable that.
- Disable TRY macro tests on MSVC
- Disable compiler warnings by default Unconditionally enabling -Werror is a heavy-handed approach and not ideal when shipping code to be used by many third parties. In fact it's even better to disable warnings by default since compiler warnings are not hard requirements. They're merely a development tool that developers should opt into.
- Contributors: Chris Thrasher, Christoph Fröhlich, Griswald Brooks, mosfet80
1.1.0 (2023-12-20)
- Fix [ament_target_dependencies]{.title-ref} integration
- Add [rsl::maybe_error]{.title-ref}
- Disable tests by default
- Stop using non-standard [M_PI]{.title-ref}
- Contributors: Chris Thrasher
1.0.1 (2023-12-06)
- Add more messages for assertion failures
- Document API changes from v0 to v1
- Contributors: Chris Thrasher
1.0.0 (2023-12-04)
- Add [rsl::StrongType]{.title-ref}
- Quote values in error messages
- Make doxygen a weak dependency
- Mark git as a test dependency
- Contributors: Andrew, Chris Thrasher, Michael Carroll, Tyler Weaver, andrea
0.2.2 (2023-03-23)
- Deprecate [rsl::lower_bounds]{.title-ref} and [rsl::upper_bounds]{.title-ref}
- Depend on ament_cmake_ros for SHARED default
- Upgrade with new pkgs to fix issue with ROS
- Update Catch2
- Contributors: Chris Thrasher, Tyler Weaver
0.2.1 (2022-11-29)
- Use constructors over factory functions when possible
- Implement [rsl::rng]{.title-ref} with [std::optional]{.title-ref}
- Fix bug when trying to seed rng from first call
- Make [rsl::rng()]{.title-ref} tests more strenuous Seeding on the first call tests a code path that hadn't yet been tested but is a valid use of the API.
- Change version of range-v3 to allow building on Ubuntu Focal (#73)
- Add missing header Fixes a build issue when using GCC 12
- Make it easy for users to override
- Update Catch2
- Add tests for [rsl::to_parameter_result_msg]{.title-ref}
- Contributors: Chris Thrasher, Tony Najjar, Tyler Weaver
0.2.0 (2022-11-15)
- New features
- rclcpp::Parameter validator functions
- Algorithms from parameter_traits
- [rsl::StaticVector]{.title-ref} and [rsl::StaticString]{.title-ref}
- Doxygen site: https://picknikrobotics.github.io/RSL/files.html
- Link to the docs from the README
- Use doxygen-awesome documentation style
- Deploy documentation website from CI
- Add Doxygen comments for [rsl::Overload]{.title-ref}
- Add Doxygen comments for [TRY]{.title-ref}
- Cleanups
- Prevent unnecessary string copy
- Ensure global constants do not violate the ODR
- Hide [rsl::NoDiscard]{.title-ref} implementation details
- Use more [[[nodiscard]]]{.title-ref}
- Fix to_vector for vector<bool>
- Ensure static container iterators are used
- Default to building a shared library
File truncated at 100 lines see the full file
Wiki Tutorials
Launch files
Messages
Services
Plugins
Recent questions tagged rsl at Robotics Stack Exchange
Package Summary
Tags | No category tags. |
Version | 1.2.0 |
License | BSD-3-Clause |
Build type | CATKIN |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/PickNikRobotics/RSL.git |
VCS Type | git |
VCS Version | main |
Last Updated | 2025-06-12 |
Dev Status | DEVELOPED |
CI status | No Continuous Integration |
Released | RELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
Package Description
Additional Links
Maintainers
- Tyler Weaver
- Chris Thrasher
Authors
- Tyler Weaver
- Chris Thrasher
ROS Support Library (RSL)
RSL is a collection of C++17 utilities for ROS projects.
Read the docs here.
Killer Features
- 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
Changelog for package rsl
1.2.0 (2025-06-11)
- Remove devcontainer
- Fix new clang-tidy warnings
- Update Catch2
- Ensure FindEigen3.cmake is not used (#126)
- Eigen: Add NO_MODULE to find_package (#125) Work around RHEL 8 failure due to a faulty FindEigen3.cmake module being found
- Hide symbols from shared libraries by default and support DLL creation
- Fix static_string.cpp compilation with MSVC standard library std::array's iterator is a pointer in libc++ and libstdc++ so [const auto*]{.title-ref} works fine. However the array iterator is not a pointer on MSVC so compilation fails. Removing the asterisk still results in a pointer type being used but causes a clang-tidy check to fail so we have to disable that.
- Disable TRY macro tests on MSVC
- Disable compiler warnings by default Unconditionally enabling -Werror is a heavy-handed approach and not ideal when shipping code to be used by many third parties. In fact it's even better to disable warnings by default since compiler warnings are not hard requirements. They're merely a development tool that developers should opt into.
- Contributors: Chris Thrasher, Christoph Fröhlich, Griswald Brooks, mosfet80
1.1.0 (2023-12-20)
- Fix [ament_target_dependencies]{.title-ref} integration
- Add [rsl::maybe_error]{.title-ref}
- Disable tests by default
- Stop using non-standard [M_PI]{.title-ref}
- Contributors: Chris Thrasher
1.0.1 (2023-12-06)
- Add more messages for assertion failures
- Document API changes from v0 to v1
- Contributors: Chris Thrasher
1.0.0 (2023-12-04)
- Add [rsl::StrongType]{.title-ref}
- Quote values in error messages
- Make doxygen a weak dependency
- Mark git as a test dependency
- Contributors: Andrew, Chris Thrasher, Michael Carroll, Tyler Weaver, andrea
0.2.2 (2023-03-23)
- Deprecate [rsl::lower_bounds]{.title-ref} and [rsl::upper_bounds]{.title-ref}
- Depend on ament_cmake_ros for SHARED default
- Upgrade with new pkgs to fix issue with ROS
- Update Catch2
- Contributors: Chris Thrasher, Tyler Weaver
0.2.1 (2022-11-29)
- Use constructors over factory functions when possible
- Implement [rsl::rng]{.title-ref} with [std::optional]{.title-ref}
- Fix bug when trying to seed rng from first call
- Make [rsl::rng()]{.title-ref} tests more strenuous Seeding on the first call tests a code path that hadn't yet been tested but is a valid use of the API.
- Change version of range-v3 to allow building on Ubuntu Focal (#73)
- Add missing header Fixes a build issue when using GCC 12
- Make it easy for users to override
- Update Catch2
- Add tests for [rsl::to_parameter_result_msg]{.title-ref}
- Contributors: Chris Thrasher, Tony Najjar, Tyler Weaver
0.2.0 (2022-11-15)
- New features
- rclcpp::Parameter validator functions
- Algorithms from parameter_traits
- [rsl::StaticVector]{.title-ref} and [rsl::StaticString]{.title-ref}
- Doxygen site: https://picknikrobotics.github.io/RSL/files.html
- Link to the docs from the README
- Use doxygen-awesome documentation style
- Deploy documentation website from CI
- Add Doxygen comments for [rsl::Overload]{.title-ref}
- Add Doxygen comments for [TRY]{.title-ref}
- Cleanups
- Prevent unnecessary string copy
- Ensure global constants do not violate the ODR
- Hide [rsl::NoDiscard]{.title-ref} implementation details
- Use more [[[nodiscard]]]{.title-ref}
- Fix to_vector for vector<bool>
- Ensure static container iterators are used
- Default to building a shared library
File truncated at 100 lines see the full file
Wiki Tutorials
Launch files
Messages
Services
Plugins
Recent questions tagged rsl at Robotics Stack Exchange
Package Summary
Tags | No category tags. |
Version | 1.2.0 |
License | BSD-3-Clause |
Build type | CATKIN |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/PickNikRobotics/RSL.git |
VCS Type | git |
VCS Version | main |
Last Updated | 2025-06-12 |
Dev Status | DEVELOPED |
CI status | No Continuous Integration |
Released | RELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
Package Description
Additional Links
Maintainers
- Tyler Weaver
- Chris Thrasher
Authors
- Tyler Weaver
- Chris Thrasher
ROS Support Library (RSL)
RSL is a collection of C++17 utilities for ROS projects.
Read the docs here.
Killer Features
- 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
Changelog for package rsl
1.2.0 (2025-06-11)
- Remove devcontainer
- Fix new clang-tidy warnings
- Update Catch2
- Ensure FindEigen3.cmake is not used (#126)
- Eigen: Add NO_MODULE to find_package (#125) Work around RHEL 8 failure due to a faulty FindEigen3.cmake module being found
- Hide symbols from shared libraries by default and support DLL creation
- Fix static_string.cpp compilation with MSVC standard library std::array's iterator is a pointer in libc++ and libstdc++ so [const auto*]{.title-ref} works fine. However the array iterator is not a pointer on MSVC so compilation fails. Removing the asterisk still results in a pointer type being used but causes a clang-tidy check to fail so we have to disable that.
- Disable TRY macro tests on MSVC
- Disable compiler warnings by default Unconditionally enabling -Werror is a heavy-handed approach and not ideal when shipping code to be used by many third parties. In fact it's even better to disable warnings by default since compiler warnings are not hard requirements. They're merely a development tool that developers should opt into.
- Contributors: Chris Thrasher, Christoph Fröhlich, Griswald Brooks, mosfet80
1.1.0 (2023-12-20)
- Fix [ament_target_dependencies]{.title-ref} integration
- Add [rsl::maybe_error]{.title-ref}
- Disable tests by default
- Stop using non-standard [M_PI]{.title-ref}
- Contributors: Chris Thrasher
1.0.1 (2023-12-06)
- Add more messages for assertion failures
- Document API changes from v0 to v1
- Contributors: Chris Thrasher
1.0.0 (2023-12-04)
- Add [rsl::StrongType]{.title-ref}
- Quote values in error messages
- Make doxygen a weak dependency
- Mark git as a test dependency
- Contributors: Andrew, Chris Thrasher, Michael Carroll, Tyler Weaver, andrea
0.2.2 (2023-03-23)
- Deprecate [rsl::lower_bounds]{.title-ref} and [rsl::upper_bounds]{.title-ref}
- Depend on ament_cmake_ros for SHARED default
- Upgrade with new pkgs to fix issue with ROS
- Update Catch2
- Contributors: Chris Thrasher, Tyler Weaver
0.2.1 (2022-11-29)
- Use constructors over factory functions when possible
- Implement [rsl::rng]{.title-ref} with [std::optional]{.title-ref}
- Fix bug when trying to seed rng from first call
- Make [rsl::rng()]{.title-ref} tests more strenuous Seeding on the first call tests a code path that hadn't yet been tested but is a valid use of the API.
- Change version of range-v3 to allow building on Ubuntu Focal (#73)
- Add missing header Fixes a build issue when using GCC 12
- Make it easy for users to override
- Update Catch2
- Add tests for [rsl::to_parameter_result_msg]{.title-ref}
- Contributors: Chris Thrasher, Tony Najjar, Tyler Weaver
0.2.0 (2022-11-15)
- New features
- rclcpp::Parameter validator functions
- Algorithms from parameter_traits
- [rsl::StaticVector]{.title-ref} and [rsl::StaticString]{.title-ref}
- Doxygen site: https://picknikrobotics.github.io/RSL/files.html
- Link to the docs from the README
- Use doxygen-awesome documentation style
- Deploy documentation website from CI
- Add Doxygen comments for [rsl::Overload]{.title-ref}
- Add Doxygen comments for [TRY]{.title-ref}
- Cleanups
- Prevent unnecessary string copy
- Ensure global constants do not violate the ODR
- Hide [rsl::NoDiscard]{.title-ref} implementation details
- Use more [[[nodiscard]]]{.title-ref}
- Fix to_vector for vector<bool>
- Ensure static container iterators are used
- Default to building a shared library
File truncated at 100 lines see the full file
Wiki Tutorials
Launch files
Messages
Services
Plugins
Recent questions tagged rsl at Robotics Stack Exchange
Package Summary
Tags | No category tags. |
Version | 1.2.0 |
License | BSD-3-Clause |
Build type | CATKIN |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/PickNikRobotics/RSL.git |
VCS Type | git |
VCS Version | main |
Last Updated | 2025-06-12 |
Dev Status | DEVELOPED |
CI status | No Continuous Integration |
Released | RELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
Package Description
Additional Links
Maintainers
- Tyler Weaver
- Chris Thrasher
Authors
- Tyler Weaver
- Chris Thrasher
ROS Support Library (RSL)
RSL is a collection of C++17 utilities for ROS projects.
Read the docs here.
Killer Features
- 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
Changelog for package rsl
1.2.0 (2025-06-11)
- Remove devcontainer
- Fix new clang-tidy warnings
- Update Catch2
- Ensure FindEigen3.cmake is not used (#126)
- Eigen: Add NO_MODULE to find_package (#125) Work around RHEL 8 failure due to a faulty FindEigen3.cmake module being found
- Hide symbols from shared libraries by default and support DLL creation
- Fix static_string.cpp compilation with MSVC standard library std::array's iterator is a pointer in libc++ and libstdc++ so [const auto*]{.title-ref} works fine. However the array iterator is not a pointer on MSVC so compilation fails. Removing the asterisk still results in a pointer type being used but causes a clang-tidy check to fail so we have to disable that.
- Disable TRY macro tests on MSVC
- Disable compiler warnings by default Unconditionally enabling -Werror is a heavy-handed approach and not ideal when shipping code to be used by many third parties. In fact it's even better to disable warnings by default since compiler warnings are not hard requirements. They're merely a development tool that developers should opt into.
- Contributors: Chris Thrasher, Christoph Fröhlich, Griswald Brooks, mosfet80
1.1.0 (2023-12-20)
- Fix [ament_target_dependencies]{.title-ref} integration
- Add [rsl::maybe_error]{.title-ref}
- Disable tests by default
- Stop using non-standard [M_PI]{.title-ref}
- Contributors: Chris Thrasher
1.0.1 (2023-12-06)
- Add more messages for assertion failures
- Document API changes from v0 to v1
- Contributors: Chris Thrasher
1.0.0 (2023-12-04)
- Add [rsl::StrongType]{.title-ref}
- Quote values in error messages
- Make doxygen a weak dependency
- Mark git as a test dependency
- Contributors: Andrew, Chris Thrasher, Michael Carroll, Tyler Weaver, andrea
0.2.2 (2023-03-23)
- Deprecate [rsl::lower_bounds]{.title-ref} and [rsl::upper_bounds]{.title-ref}
- Depend on ament_cmake_ros for SHARED default
- Upgrade with new pkgs to fix issue with ROS
- Update Catch2
- Contributors: Chris Thrasher, Tyler Weaver
0.2.1 (2022-11-29)
- Use constructors over factory functions when possible
- Implement [rsl::rng]{.title-ref} with [std::optional]{.title-ref}
- Fix bug when trying to seed rng from first call
- Make [rsl::rng()]{.title-ref} tests more strenuous Seeding on the first call tests a code path that hadn't yet been tested but is a valid use of the API.
- Change version of range-v3 to allow building on Ubuntu Focal (#73)
- Add missing header Fixes a build issue when using GCC 12
- Make it easy for users to override
- Update Catch2
- Add tests for [rsl::to_parameter_result_msg]{.title-ref}
- Contributors: Chris Thrasher, Tony Najjar, Tyler Weaver
0.2.0 (2022-11-15)
- New features
- rclcpp::Parameter validator functions
- Algorithms from parameter_traits
- [rsl::StaticVector]{.title-ref} and [rsl::StaticString]{.title-ref}
- Doxygen site: https://picknikrobotics.github.io/RSL/files.html
- Link to the docs from the README
- Use doxygen-awesome documentation style
- Deploy documentation website from CI
- Add Doxygen comments for [rsl::Overload]{.title-ref}
- Add Doxygen comments for [TRY]{.title-ref}
- Cleanups
- Prevent unnecessary string copy
- Ensure global constants do not violate the ODR
- Hide [rsl::NoDiscard]{.title-ref} implementation details
- Use more [[[nodiscard]]]{.title-ref}
- Fix to_vector for vector<bool>
- Ensure static container iterators are used
- Default to building a shared library
File truncated at 100 lines see the full file
Wiki Tutorials
Launch files
Messages
Services
Plugins
Recent questions tagged rsl at Robotics Stack Exchange
Package Summary
Tags | No category tags. |
Version | 1.2.0 |
License | BSD-3-Clause |
Build type | CATKIN |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/PickNikRobotics/RSL.git |
VCS Type | git |
VCS Version | main |
Last Updated | 2025-06-12 |
Dev Status | DEVELOPED |
CI status | No Continuous Integration |
Released | RELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
Package Description
Additional Links
Maintainers
- Tyler Weaver
- Chris Thrasher
Authors
- Tyler Weaver
- Chris Thrasher
ROS Support Library (RSL)
RSL is a collection of C++17 utilities for ROS projects.
Read the docs here.
Killer Features
- 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
Changelog for package rsl
1.2.0 (2025-06-11)
- Remove devcontainer
- Fix new clang-tidy warnings
- Update Catch2
- Ensure FindEigen3.cmake is not used (#126)
- Eigen: Add NO_MODULE to find_package (#125) Work around RHEL 8 failure due to a faulty FindEigen3.cmake module being found
- Hide symbols from shared libraries by default and support DLL creation
- Fix static_string.cpp compilation with MSVC standard library std::array's iterator is a pointer in libc++ and libstdc++ so [const auto*]{.title-ref} works fine. However the array iterator is not a pointer on MSVC so compilation fails. Removing the asterisk still results in a pointer type being used but causes a clang-tidy check to fail so we have to disable that.
- Disable TRY macro tests on MSVC
- Disable compiler warnings by default Unconditionally enabling -Werror is a heavy-handed approach and not ideal when shipping code to be used by many third parties. In fact it's even better to disable warnings by default since compiler warnings are not hard requirements. They're merely a development tool that developers should opt into.
- Contributors: Chris Thrasher, Christoph Fröhlich, Griswald Brooks, mosfet80
1.1.0 (2023-12-20)
- Fix [ament_target_dependencies]{.title-ref} integration
- Add [rsl::maybe_error]{.title-ref}
- Disable tests by default
- Stop using non-standard [M_PI]{.title-ref}
- Contributors: Chris Thrasher
1.0.1 (2023-12-06)
- Add more messages for assertion failures
- Document API changes from v0 to v1
- Contributors: Chris Thrasher
1.0.0 (2023-12-04)
- Add [rsl::StrongType]{.title-ref}
- Quote values in error messages
- Make doxygen a weak dependency
- Mark git as a test dependency
- Contributors: Andrew, Chris Thrasher, Michael Carroll, Tyler Weaver, andrea
0.2.2 (2023-03-23)
- Deprecate [rsl::lower_bounds]{.title-ref} and [rsl::upper_bounds]{.title-ref}
- Depend on ament_cmake_ros for SHARED default
- Upgrade with new pkgs to fix issue with ROS
- Update Catch2
- Contributors: Chris Thrasher, Tyler Weaver
0.2.1 (2022-11-29)
- Use constructors over factory functions when possible
- Implement [rsl::rng]{.title-ref} with [std::optional]{.title-ref}
- Fix bug when trying to seed rng from first call
- Make [rsl::rng()]{.title-ref} tests more strenuous Seeding on the first call tests a code path that hadn't yet been tested but is a valid use of the API.
- Change version of range-v3 to allow building on Ubuntu Focal (#73)
- Add missing header Fixes a build issue when using GCC 12
- Make it easy for users to override
- Update Catch2
- Add tests for [rsl::to_parameter_result_msg]{.title-ref}
- Contributors: Chris Thrasher, Tony Najjar, Tyler Weaver
0.2.0 (2022-11-15)
- New features
- rclcpp::Parameter validator functions
- Algorithms from parameter_traits
- [rsl::StaticVector]{.title-ref} and [rsl::StaticString]{.title-ref}
- Doxygen site: https://picknikrobotics.github.io/RSL/files.html
- Link to the docs from the README
- Use doxygen-awesome documentation style
- Deploy documentation website from CI
- Add Doxygen comments for [rsl::Overload]{.title-ref}
- Add Doxygen comments for [TRY]{.title-ref}
- Cleanups
- Prevent unnecessary string copy
- Ensure global constants do not violate the ODR
- Hide [rsl::NoDiscard]{.title-ref} implementation details
- Use more [[[nodiscard]]]{.title-ref}
- Fix to_vector for vector<bool>
- Ensure static container iterators are used
- Default to building a shared library
File truncated at 100 lines see the full file
Wiki Tutorials
Launch files
Messages
Services
Plugins
Recent questions tagged rsl at Robotics Stack Exchange
Package Summary
Tags | No category tags. |
Version | 1.2.0 |
License | BSD-3-Clause |
Build type | CATKIN |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/PickNikRobotics/RSL.git |
VCS Type | git |
VCS Version | main |
Last Updated | 2025-06-12 |
Dev Status | DEVELOPED |
CI status | No Continuous Integration |
Released | RELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
Package Description
Additional Links
Maintainers
- Tyler Weaver
- Chris Thrasher
Authors
- Tyler Weaver
- Chris Thrasher
ROS Support Library (RSL)
RSL is a collection of C++17 utilities for ROS projects.
Read the docs here.
Killer Features
- 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
Changelog for package rsl
1.2.0 (2025-06-11)
- Remove devcontainer
- Fix new clang-tidy warnings
- Update Catch2
- Ensure FindEigen3.cmake is not used (#126)
- Eigen: Add NO_MODULE to find_package (#125) Work around RHEL 8 failure due to a faulty FindEigen3.cmake module being found
- Hide symbols from shared libraries by default and support DLL creation
- Fix static_string.cpp compilation with MSVC standard library std::array's iterator is a pointer in libc++ and libstdc++ so [const auto*]{.title-ref} works fine. However the array iterator is not a pointer on MSVC so compilation fails. Removing the asterisk still results in a pointer type being used but causes a clang-tidy check to fail so we have to disable that.
- Disable TRY macro tests on MSVC
- Disable compiler warnings by default Unconditionally enabling -Werror is a heavy-handed approach and not ideal when shipping code to be used by many third parties. In fact it's even better to disable warnings by default since compiler warnings are not hard requirements. They're merely a development tool that developers should opt into.
- Contributors: Chris Thrasher, Christoph Fröhlich, Griswald Brooks, mosfet80
1.1.0 (2023-12-20)
- Fix [ament_target_dependencies]{.title-ref} integration
- Add [rsl::maybe_error]{.title-ref}
- Disable tests by default
- Stop using non-standard [M_PI]{.title-ref}
- Contributors: Chris Thrasher
1.0.1 (2023-12-06)
- Add more messages for assertion failures
- Document API changes from v0 to v1
- Contributors: Chris Thrasher
1.0.0 (2023-12-04)
- Add [rsl::StrongType]{.title-ref}
- Quote values in error messages
- Make doxygen a weak dependency
- Mark git as a test dependency
- Contributors: Andrew, Chris Thrasher, Michael Carroll, Tyler Weaver, andrea
0.2.2 (2023-03-23)
- Deprecate [rsl::lower_bounds]{.title-ref} and [rsl::upper_bounds]{.title-ref}
- Depend on ament_cmake_ros for SHARED default
- Upgrade with new pkgs to fix issue with ROS
- Update Catch2
- Contributors: Chris Thrasher, Tyler Weaver
0.2.1 (2022-11-29)
- Use constructors over factory functions when possible
- Implement [rsl::rng]{.title-ref} with [std::optional]{.title-ref}
- Fix bug when trying to seed rng from first call
- Make [rsl::rng()]{.title-ref} tests more strenuous Seeding on the first call tests a code path that hadn't yet been tested but is a valid use of the API.
- Change version of range-v3 to allow building on Ubuntu Focal (#73)
- Add missing header Fixes a build issue when using GCC 12
- Make it easy for users to override
- Update Catch2
- Add tests for [rsl::to_parameter_result_msg]{.title-ref}
- Contributors: Chris Thrasher, Tony Najjar, Tyler Weaver
0.2.0 (2022-11-15)
- New features
- rclcpp::Parameter validator functions
- Algorithms from parameter_traits
- [rsl::StaticVector]{.title-ref} and [rsl::StaticString]{.title-ref}
- Doxygen site: https://picknikrobotics.github.io/RSL/files.html
- Link to the docs from the README
- Use doxygen-awesome documentation style
- Deploy documentation website from CI
- Add Doxygen comments for [rsl::Overload]{.title-ref}
- Add Doxygen comments for [TRY]{.title-ref}
- Cleanups
- Prevent unnecessary string copy
- Ensure global constants do not violate the ODR
- Hide [rsl::NoDiscard]{.title-ref} implementation details
- Use more [[[nodiscard]]]{.title-ref}
- Fix to_vector for vector<bool>
- Ensure static container iterators are used
- Default to building a shared library
File truncated at 100 lines see the full file
Wiki Tutorials
Launch files
Messages
Services
Plugins
Recent questions tagged rsl at Robotics Stack Exchange
Package Summary
Tags | No category tags. |
Version | 1.2.0 |
License | BSD-3-Clause |
Build type | CATKIN |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/PickNikRobotics/RSL.git |
VCS Type | git |
VCS Version | main |
Last Updated | 2025-06-12 |
Dev Status | DEVELOPED |
CI status | No Continuous Integration |
Released | RELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
Package Description
Additional Links
Maintainers
- Tyler Weaver
- Chris Thrasher
Authors
- Tyler Weaver
- Chris Thrasher
ROS Support Library (RSL)
RSL is a collection of C++17 utilities for ROS projects.
Read the docs here.
Killer Features
- 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
Changelog for package rsl
1.2.0 (2025-06-11)
- Remove devcontainer
- Fix new clang-tidy warnings
- Update Catch2
- Ensure FindEigen3.cmake is not used (#126)
- Eigen: Add NO_MODULE to find_package (#125) Work around RHEL 8 failure due to a faulty FindEigen3.cmake module being found
- Hide symbols from shared libraries by default and support DLL creation
- Fix static_string.cpp compilation with MSVC standard library std::array's iterator is a pointer in libc++ and libstdc++ so [const auto*]{.title-ref} works fine. However the array iterator is not a pointer on MSVC so compilation fails. Removing the asterisk still results in a pointer type being used but causes a clang-tidy check to fail so we have to disable that.
- Disable TRY macro tests on MSVC
- Disable compiler warnings by default Unconditionally enabling -Werror is a heavy-handed approach and not ideal when shipping code to be used by many third parties. In fact it's even better to disable warnings by default since compiler warnings are not hard requirements. They're merely a development tool that developers should opt into.
- Contributors: Chris Thrasher, Christoph Fröhlich, Griswald Brooks, mosfet80
1.1.0 (2023-12-20)
- Fix [ament_target_dependencies]{.title-ref} integration
- Add [rsl::maybe_error]{.title-ref}
- Disable tests by default
- Stop using non-standard [M_PI]{.title-ref}
- Contributors: Chris Thrasher
1.0.1 (2023-12-06)
- Add more messages for assertion failures
- Document API changes from v0 to v1
- Contributors: Chris Thrasher
1.0.0 (2023-12-04)
- Add [rsl::StrongType]{.title-ref}
- Quote values in error messages
- Make doxygen a weak dependency
- Mark git as a test dependency
- Contributors: Andrew, Chris Thrasher, Michael Carroll, Tyler Weaver, andrea
0.2.2 (2023-03-23)
- Deprecate [rsl::lower_bounds]{.title-ref} and [rsl::upper_bounds]{.title-ref}
- Depend on ament_cmake_ros for SHARED default
- Upgrade with new pkgs to fix issue with ROS
- Update Catch2
- Contributors: Chris Thrasher, Tyler Weaver
0.2.1 (2022-11-29)
- Use constructors over factory functions when possible
- Implement [rsl::rng]{.title-ref} with [std::optional]{.title-ref}
- Fix bug when trying to seed rng from first call
- Make [rsl::rng()]{.title-ref} tests more strenuous Seeding on the first call tests a code path that hadn't yet been tested but is a valid use of the API.
- Change version of range-v3 to allow building on Ubuntu Focal (#73)
- Add missing header Fixes a build issue when using GCC 12
- Make it easy for users to override
- Update Catch2
- Add tests for [rsl::to_parameter_result_msg]{.title-ref}
- Contributors: Chris Thrasher, Tony Najjar, Tyler Weaver
0.2.0 (2022-11-15)
- New features
- rclcpp::Parameter validator functions
- Algorithms from parameter_traits
- [rsl::StaticVector]{.title-ref} and [rsl::StaticString]{.title-ref}
- Doxygen site: https://picknikrobotics.github.io/RSL/files.html
- Link to the docs from the README
- Use doxygen-awesome documentation style
- Deploy documentation website from CI
- Add Doxygen comments for [rsl::Overload]{.title-ref}
- Add Doxygen comments for [TRY]{.title-ref}
- Cleanups
- Prevent unnecessary string copy
- Ensure global constants do not violate the ODR
- Hide [rsl::NoDiscard]{.title-ref} implementation details
- Use more [[[nodiscard]]]{.title-ref}
- Fix to_vector for vector<bool>
- Ensure static container iterators are used
- Default to building a shared library
File truncated at 100 lines see the full file
Wiki Tutorials
Launch files
Messages
Services
Plugins
Recent questions tagged rsl at Robotics Stack Exchange
Package Summary
Tags | No category tags. |
Version | 1.2.0 |
License | BSD-3-Clause |
Build type | CATKIN |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/PickNikRobotics/RSL.git |
VCS Type | git |
VCS Version | main |
Last Updated | 2025-06-12 |
Dev Status | DEVELOPED |
CI status | No Continuous Integration |
Released | RELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
Package Description
Additional Links
Maintainers
- Tyler Weaver
- Chris Thrasher
Authors
- Tyler Weaver
- Chris Thrasher
ROS Support Library (RSL)
RSL is a collection of C++17 utilities for ROS projects.
Read the docs here.
Killer Features
- 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
Changelog for package rsl
1.2.0 (2025-06-11)
- Remove devcontainer
- Fix new clang-tidy warnings
- Update Catch2
- Ensure FindEigen3.cmake is not used (#126)
- Eigen: Add NO_MODULE to find_package (#125) Work around RHEL 8 failure due to a faulty FindEigen3.cmake module being found
- Hide symbols from shared libraries by default and support DLL creation
- Fix static_string.cpp compilation with MSVC standard library std::array's iterator is a pointer in libc++ and libstdc++ so [const auto*]{.title-ref} works fine. However the array iterator is not a pointer on MSVC so compilation fails. Removing the asterisk still results in a pointer type being used but causes a clang-tidy check to fail so we have to disable that.
- Disable TRY macro tests on MSVC
- Disable compiler warnings by default Unconditionally enabling -Werror is a heavy-handed approach and not ideal when shipping code to be used by many third parties. In fact it's even better to disable warnings by default since compiler warnings are not hard requirements. They're merely a development tool that developers should opt into.
- Contributors: Chris Thrasher, Christoph Fröhlich, Griswald Brooks, mosfet80
1.1.0 (2023-12-20)
- Fix [ament_target_dependencies]{.title-ref} integration
- Add [rsl::maybe_error]{.title-ref}
- Disable tests by default
- Stop using non-standard [M_PI]{.title-ref}
- Contributors: Chris Thrasher
1.0.1 (2023-12-06)
- Add more messages for assertion failures
- Document API changes from v0 to v1
- Contributors: Chris Thrasher
1.0.0 (2023-12-04)
- Add [rsl::StrongType]{.title-ref}
- Quote values in error messages
- Make doxygen a weak dependency
- Mark git as a test dependency
- Contributors: Andrew, Chris Thrasher, Michael Carroll, Tyler Weaver, andrea
0.2.2 (2023-03-23)
- Deprecate [rsl::lower_bounds]{.title-ref} and [rsl::upper_bounds]{.title-ref}
- Depend on ament_cmake_ros for SHARED default
- Upgrade with new pkgs to fix issue with ROS
- Update Catch2
- Contributors: Chris Thrasher, Tyler Weaver
0.2.1 (2022-11-29)
- Use constructors over factory functions when possible
- Implement [rsl::rng]{.title-ref} with [std::optional]{.title-ref}
- Fix bug when trying to seed rng from first call
- Make [rsl::rng()]{.title-ref} tests more strenuous Seeding on the first call tests a code path that hadn't yet been tested but is a valid use of the API.
- Change version of range-v3 to allow building on Ubuntu Focal (#73)
- Add missing header Fixes a build issue when using GCC 12
- Make it easy for users to override
- Update Catch2
- Add tests for [rsl::to_parameter_result_msg]{.title-ref}
- Contributors: Chris Thrasher, Tony Najjar, Tyler Weaver
0.2.0 (2022-11-15)
- New features
- rclcpp::Parameter validator functions
- Algorithms from parameter_traits
- [rsl::StaticVector]{.title-ref} and [rsl::StaticString]{.title-ref}
- Doxygen site: https://picknikrobotics.github.io/RSL/files.html
- Link to the docs from the README
- Use doxygen-awesome documentation style
- Deploy documentation website from CI
- Add Doxygen comments for [rsl::Overload]{.title-ref}
- Add Doxygen comments for [TRY]{.title-ref}
- Cleanups
- Prevent unnecessary string copy
- Ensure global constants do not violate the ODR
- Hide [rsl::NoDiscard]{.title-ref} implementation details
- Use more [[[nodiscard]]]{.title-ref}
- Fix to_vector for vector<bool>
- Ensure static container iterators are used
- Default to building a shared library
File truncated at 100 lines see the full file
Wiki Tutorials
Launch files
Messages
Services
Plugins
Recent questions tagged rsl at Robotics Stack Exchange
Package Summary
Tags | No category tags. |
Version | 1.2.0 |
License | BSD-3-Clause |
Build type | CATKIN |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/PickNikRobotics/RSL.git |
VCS Type | git |
VCS Version | main |
Last Updated | 2025-06-12 |
Dev Status | DEVELOPED |
CI status | No Continuous Integration |
Released | RELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
Package Description
Additional Links
Maintainers
- Tyler Weaver
- Chris Thrasher
Authors
- Tyler Weaver
- Chris Thrasher
ROS Support Library (RSL)
RSL is a collection of C++17 utilities for ROS projects.
Read the docs here.
Killer Features
- 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
Changelog for package rsl
1.2.0 (2025-06-11)
- Remove devcontainer
- Fix new clang-tidy warnings
- Update Catch2
- Ensure FindEigen3.cmake is not used (#126)
- Eigen: Add NO_MODULE to find_package (#125) Work around RHEL 8 failure due to a faulty FindEigen3.cmake module being found
- Hide symbols from shared libraries by default and support DLL creation
- Fix static_string.cpp compilation with MSVC standard library std::array's iterator is a pointer in libc++ and libstdc++ so [const auto*]{.title-ref} works fine. However the array iterator is not a pointer on MSVC so compilation fails. Removing the asterisk still results in a pointer type being used but causes a clang-tidy check to fail so we have to disable that.
- Disable TRY macro tests on MSVC
- Disable compiler warnings by default Unconditionally enabling -Werror is a heavy-handed approach and not ideal when shipping code to be used by many third parties. In fact it's even better to disable warnings by default since compiler warnings are not hard requirements. They're merely a development tool that developers should opt into.
- Contributors: Chris Thrasher, Christoph Fröhlich, Griswald Brooks, mosfet80
1.1.0 (2023-12-20)
- Fix [ament_target_dependencies]{.title-ref} integration
- Add [rsl::maybe_error]{.title-ref}
- Disable tests by default
- Stop using non-standard [M_PI]{.title-ref}
- Contributors: Chris Thrasher
1.0.1 (2023-12-06)
- Add more messages for assertion failures
- Document API changes from v0 to v1
- Contributors: Chris Thrasher
1.0.0 (2023-12-04)
- Add [rsl::StrongType]{.title-ref}
- Quote values in error messages
- Make doxygen a weak dependency
- Mark git as a test dependency
- Contributors: Andrew, Chris Thrasher, Michael Carroll, Tyler Weaver, andrea
0.2.2 (2023-03-23)
- Deprecate [rsl::lower_bounds]{.title-ref} and [rsl::upper_bounds]{.title-ref}
- Depend on ament_cmake_ros for SHARED default
- Upgrade with new pkgs to fix issue with ROS
- Update Catch2
- Contributors: Chris Thrasher, Tyler Weaver
0.2.1 (2022-11-29)
- Use constructors over factory functions when possible
- Implement [rsl::rng]{.title-ref} with [std::optional]{.title-ref}
- Fix bug when trying to seed rng from first call
- Make [rsl::rng()]{.title-ref} tests more strenuous Seeding on the first call tests a code path that hadn't yet been tested but is a valid use of the API.
- Change version of range-v3 to allow building on Ubuntu Focal (#73)
- Add missing header Fixes a build issue when using GCC 12
- Make it easy for users to override
- Update Catch2
- Add tests for [rsl::to_parameter_result_msg]{.title-ref}
- Contributors: Chris Thrasher, Tony Najjar, Tyler Weaver
0.2.0 (2022-11-15)
- New features
- rclcpp::Parameter validator functions
- Algorithms from parameter_traits
- [rsl::StaticVector]{.title-ref} and [rsl::StaticString]{.title-ref}
- Doxygen site: https://picknikrobotics.github.io/RSL/files.html
- Link to the docs from the README
- Use doxygen-awesome documentation style
- Deploy documentation website from CI
- Add Doxygen comments for [rsl::Overload]{.title-ref}
- Add Doxygen comments for [TRY]{.title-ref}
- Cleanups
- Prevent unnecessary string copy
- Ensure global constants do not violate the ODR
- Hide [rsl::NoDiscard]{.title-ref} implementation details
- Use more [[[nodiscard]]]{.title-ref}
- Fix to_vector for vector<bool>
- Ensure static container iterators are used
- Default to building a shared library
File truncated at 100 lines see the full file
Wiki Tutorials
Launch files
Messages
Services
Plugins
Recent questions tagged rsl at Robotics Stack Exchange
Package Summary
Tags | No category tags. |
Version | 1.2.0 |
License | BSD-3-Clause |
Build type | CATKIN |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/PickNikRobotics/RSL.git |
VCS Type | git |
VCS Version | main |
Last Updated | 2025-06-12 |
Dev Status | DEVELOPED |
CI status | No Continuous Integration |
Released | RELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
Package Description
Additional Links
Maintainers
- Tyler Weaver
- Chris Thrasher
Authors
- Tyler Weaver
- Chris Thrasher
ROS Support Library (RSL)
RSL is a collection of C++17 utilities for ROS projects.
Read the docs here.
Killer Features
- 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
Changelog for package rsl
1.2.0 (2025-06-11)
- Remove devcontainer
- Fix new clang-tidy warnings
- Update Catch2
- Ensure FindEigen3.cmake is not used (#126)
- Eigen: Add NO_MODULE to find_package (#125) Work around RHEL 8 failure due to a faulty FindEigen3.cmake module being found
- Hide symbols from shared libraries by default and support DLL creation
- Fix static_string.cpp compilation with MSVC standard library std::array's iterator is a pointer in libc++ and libstdc++ so [const auto*]{.title-ref} works fine. However the array iterator is not a pointer on MSVC so compilation fails. Removing the asterisk still results in a pointer type being used but causes a clang-tidy check to fail so we have to disable that.
- Disable TRY macro tests on MSVC
- Disable compiler warnings by default Unconditionally enabling -Werror is a heavy-handed approach and not ideal when shipping code to be used by many third parties. In fact it's even better to disable warnings by default since compiler warnings are not hard requirements. They're merely a development tool that developers should opt into.
- Contributors: Chris Thrasher, Christoph Fröhlich, Griswald Brooks, mosfet80
1.1.0 (2023-12-20)
- Fix [ament_target_dependencies]{.title-ref} integration
- Add [rsl::maybe_error]{.title-ref}
- Disable tests by default
- Stop using non-standard [M_PI]{.title-ref}
- Contributors: Chris Thrasher
1.0.1 (2023-12-06)
- Add more messages for assertion failures
- Document API changes from v0 to v1
- Contributors: Chris Thrasher
1.0.0 (2023-12-04)
- Add [rsl::StrongType]{.title-ref}
- Quote values in error messages
- Make doxygen a weak dependency
- Mark git as a test dependency
- Contributors: Andrew, Chris Thrasher, Michael Carroll, Tyler Weaver, andrea
0.2.2 (2023-03-23)
- Deprecate [rsl::lower_bounds]{.title-ref} and [rsl::upper_bounds]{.title-ref}
- Depend on ament_cmake_ros for SHARED default
- Upgrade with new pkgs to fix issue with ROS
- Update Catch2
- Contributors: Chris Thrasher, Tyler Weaver
0.2.1 (2022-11-29)
- Use constructors over factory functions when possible
- Implement [rsl::rng]{.title-ref} with [std::optional]{.title-ref}
- Fix bug when trying to seed rng from first call
- Make [rsl::rng()]{.title-ref} tests more strenuous Seeding on the first call tests a code path that hadn't yet been tested but is a valid use of the API.
- Change version of range-v3 to allow building on Ubuntu Focal (#73)
- Add missing header Fixes a build issue when using GCC 12
- Make it easy for users to override
- Update Catch2
- Add tests for [rsl::to_parameter_result_msg]{.title-ref}
- Contributors: Chris Thrasher, Tony Najjar, Tyler Weaver
0.2.0 (2022-11-15)
- New features
- rclcpp::Parameter validator functions
- Algorithms from parameter_traits
- [rsl::StaticVector]{.title-ref} and [rsl::StaticString]{.title-ref}
- Doxygen site: https://picknikrobotics.github.io/RSL/files.html
- Link to the docs from the README
- Use doxygen-awesome documentation style
- Deploy documentation website from CI
- Add Doxygen comments for [rsl::Overload]{.title-ref}
- Add Doxygen comments for [TRY]{.title-ref}
- Cleanups
- Prevent unnecessary string copy
- Ensure global constants do not violate the ODR
- Hide [rsl::NoDiscard]{.title-ref} implementation details
- Use more [[[nodiscard]]]{.title-ref}
- Fix to_vector for vector<bool>
- Ensure static container iterators are used
- Default to building a shared library
File truncated at 100 lines see the full file