Package Summary
Tags | No category tags. |
Version | 2.4.5 |
License | Apache License 2.0 |
Build type | AMENT_CMAKE |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/ros2/rcpputils.git |
VCS Type | git |
VCS Version | humble |
Last Updated | 2025-03-25 |
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
Package containing utility code for C++.
Additional Links
No additional links.
Maintainers
- Chris Lalancette
Authors
- Emerson Knapp
- Michael Jeronimo
rcpputils: ROS 2 C++ Utilities
rcpputils
is a C++ API consisting of macros, functions, and data structures intended for use throughout the ROS 2 codebase
Quality Declaration
This package claims to be in the Quality Level 1 category, see the Quality Declaration for more details.
API
This package currently contains:
- Assertion functions
- Clang thread safety annotation macros
- Library discovery
- String helpers
- File system helpers
- Type traits helpers
- Class that dynamically loads, unloads and get symbols from shared libraries at run-time.
Features are described in more detail at docs/FEATURES.md
CHANGELOG
Changelog for package rcpputils
2.4.5 (2025-03-25)
2.4.4 (2024-11-25)
2.4.3 (2024-05-15)
- Generate version header with ament_generate_version_header function (#190) (#191)
- Contributors: mergify[bot]
2.4.2 (2024-02-16)
- Included tl_expected (backport #185) (#186)
- humble: fix <cstdint> error (#184)
- Contributors: Bernd Müller, mergify[bot]
2.4.1 (2023-04-25)
2.4.0 (2022-03-01)
- Install includes to include/${PROJECT_NAME} (#160)
- Contributors: Shane Loretz
2.3.2 (2022-01-14)
- Fix include order for cpplint (#158)
- [path] Declare the default assignment operator (#156)
- Contributors: Abrar Rahman Protyasha, Jacob Perron
2.3.1 (2021-12-17)
- Fixes for uncrustify 0.72 (#154)
- Fix the BSD license headers to use the standard one. (#153)
- Update maintainers to Chris Lalancette (#152)
- Contributors: Audrow Nash, Chris Lalancette
2.3.0 (2021-11-18)
- Add checked convert_to_nanoseconds() function (#145)
- Add missing sections in docs/FEATURES.md TOC (#151)
- [env] Add [set_env_var]{.title-ref} function (#150)
- Add missing cstddef include (#147)
- Add accumulator test to CMakeLists.txt (#144)
- `rcpputils::fs`: Fix doxygen parameter identifier (#142)
- Make thread safety macro C++ standards compliant (#141)
- Fix API documentation for clean [rosdoc2]{.title-ref} build (#139)
- Improve [rcppmath]{.title-ref} Doxygen documentation (#138)
- Improve documentation of utilities in docs/FEATURES.md (#137)
- Include [rcppmath]{.title-ref} utilities in docs/FEATURES.md (#136)
- Fix [IllegalStateException]{.title-ref} reference in FEATURES (#135)
- migrate rolling mean from ros2_controllers to rcppmath (#133)
- Update includes after rcutils/get_env.h deprecation (#132)
- Contributors: Abrar Rahman Protyasha, Barry Xu, Christophe Bedard, Karsten Knese, Octogonapus
2.2.0 (2021-04-02)
- Update quality declaration links (#130)
- Add functions for getting library path and filename (#128)
- Contributors: Nikolai Morin, Simon Honigmann
2.1.0 (2021-03-01)
- Add path equality operators (#127)
- Add create_temp_directory filesystem helper (#126)
- Use new noexcept specifier. (#123)
- Contributors: Chen Lihui, Emerson Knapp
2.0.4 (2021-01-25)
- Add stream operator for paths to make it easier to log (#120)
- Path join operator is const (#119)
- No windows.h in header files (#118)
- Fix rcpputils::SharedLibrary tests. (#117)
- Contributors: Emerson Knapp, Ivan Santiago Paunovic, Michel Hidalgo
2.0.3 (2020-12-08)
- Update QD to QL 1 (#114)
- Make sure to not try to index into an empty path. (#113)
- Contributors: Chris Lalancette, Stephen Brawner
2.0.2 (2020-11-16)
- Fix working with filesystem parent paths. (#112)
- Cleanup mislabeled BSD license (#37)
- overload functions for has_symbol and get_symbol with raw string literal (#110)
- Add an ASSERT to the pointer traits tests. (#111)
- replace custom get env login into rcutils_get_env(). (#99)
- Removed Github Actions (#105)
- Update the package.xml files with the latest Open Robotics maintainers (#102)
- Contributors: Alejandro Hernández Cordero, Chen Lihui, Chris Lalancette, Michael Jeronimo, Tully Foote, tomoya
2.0.1 (2020-10-05)
- Make sure that an existing path is a directory for create_directories (#98)
- Transfer ownership to Open Robotics (#100)
- Ensure -fPIC is used when building a static lib (#93)
- Contributors: Christophe Bedard, Dirk Thomas, Louise Poubel, William Woodall
2.0.0 (2020-07-21)
- Removed doxygen warnings (#86) (#87)
- Add clamp header (#85)
- Removed doxygen warnings (#86)
- Split get_env_var() into header and implementation (#83)
- Add cstring include for strcmp (#81)
- filesystem helpers: adding remove_all to remove non-empty directories (#79)
- Contributors: Alejandro Hernández Cordero, Christophe Bedard, Hunter L. Allen, Karsten Knese, Victor Lopez
1.2.0 (2020-06-26)
- Add scope_exit helper (#78)
- Bump setup-ros to 0.0.23, action-ros-lint to 0.0.6, action-ros-ci to 0.0.17 (#77)
- Contributors: Devin Bonnie, Michel Hidalgo
1.1.0 (2020-06-22)
- Fix parent_path() for empty paths and paths of length one (#73)
- Add get_executable_name() function (#70)
- Address memory leak in remove pointer test (#72)
- Add current_path to filesystem_helpers (#63)
- Align path combine behavior with C++17 (#68)
- Update quality declaration to QL 2 (#71)
- Contributors: Jacob Perron, Scott K Logan, Stephen Brawner
1.0.1 (2020-06-03)
- Include stdexcept in get_env.hpp (#69)
- Update quality declaration for version stability (#66)
- Handle empty paths in is_absolute (#67)
- Add Security Vulnerability Policy pointing to REP-2006 (#65)
- Contributors: Chris Lalancette, Scott K Logan, Steven! Ragnarök
1.0.0 (2020-05-26)
- Remove mention of random file from temporary_directory_path doc (#64)
- Contributors: Scott K Logan
0.3.1 (2020-05-08)
- Fix Action CI by using released upload-artifact instead of master (#61)
- Quality declaration (#47)
- Contributors: Emerson Knapp, brawner
0.3.0 (2020-04-24)
- Added shared library to feature list (#58)
- export targets in a addition to include directories / libraries (#57)
- remove pointer for smart pointer (#56)
- Added shared library class description to readme (#53)
- Increased shared library tests (#51)
- Removed duplicated split function (#54)
- Exposed get_env_var (#55)
- Added debug version for library names (#52)
- Added unload_library method to shared_library (#50)
- Included abstraction for rcutils::shared_library (#49)
- Add more documentation and include doxyfile (#46)
- Update README.md with license and build badges. (#45)
- Update README to mention assertion helper functions (#43)
- Add rcpputils::fs::file_size and rcpputils::fs::is_directory (#41)
- Make assert functions accept an optional string. (#42)
- Add functions for C++ assertions (#31)
- remove reference for pointer traits (#38)
- code style only: wrap after open parenthesis if not in one line (#36)
- Bug fixes for rcpputils::fs API
(#35)
- Ensure rcpputils::fs::create_directories works with absolute paths.
- Implement temp_directory_path() for testing purposes.
- Fix rcpputils::fs::path::parent_path() method.
- Add build and test workflow (#33)
- Add linting workflow (#32)
- Fix filesystem helpers for directory manipulation. (#30)
- Contributors: Alejandro Hernández Cordero, Dirk Thomas, Emerson Knapp, Karsten Knese, Michel Hidalgo, Zachary Michaels
0.2.1 (2019-11-12)
- add new function to remove the extension of a file (#27)
- Contributors: Anas Abou Allaban
0.2.0 (2019-09-24)
- find_library: Centralize functionality here (#25)
- Implement join() (#20)
- Rename test (#21)
- use _WIN32 instead of WIN32 (#24)
- Update README.md and package.xml (#22)
- Fix typo (#23)
- type trait rcpputils::is_pointer<T>[ (]{.title-ref}#19 <<https://github.com/ros2/rcpputils/issues/19>>`_)
- File extension addition for camera calibration parser (#18)
- Add endian helper until C++20 (#16)
- use iterators for split (#14)
- Add function 'find_and_replace' (#13)
- Contributors: Andreas Klintberg, Dirk Thomas, Jacob Perron, Karsten Knese, Michael Carroll, Michel Hidalgo, Tully Foote
0.1.0 (2019-04-13)
- Fixed leak in test_basic.cpp. (#9)
- Added CODEOWNERS file. (#10)
- Added commonly-used filesystem helper to utils. (#5)
- Fixed thread_safety_annotation filename to .hpp. (#6)
- Added section about DCO to CONTRIBUTING.md.
- Added thread annotation macros. (#2)
- Contributors: Dirk Thomas, Emerson Knapp, Michael Carroll, Thomas Moulard
Wiki Tutorials
This package does not provide any links to tutorials in it's rosindex metadata.
You can check on the ROS Wiki Tutorials page for the package.
Package Dependencies
System Dependencies
No direct system dependencies.
Dependant Packages
Launch files
No launch files found
Messages
No message files found.
Services
No service files found
Plugins
No plugins found.