Skip to content

This is a development fork. Do not pull from this repo.

License

Notifications You must be signed in to change notification settings

aws-ros-dev/rcpputils

 
 

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

This package currently contains:

  • Clang thread safety annotation macros
  • Library discovery
  • String helpers
  • File system helpers
  • Type traits helpers

Clang Thread Safety Annotation Macros

the rcpputils/thread_safety_annotations.hpp header provides macros for Clang's Thread Safety Analysis feature.

The macros allow you to annotate your code, but expand to nothing when using a non-clang compiler, so they are safe for cross-platform use.

To use thread safety annotation in your package (in a Clang+libcxx build), enable the -Wthread-safety compiler flag.

For example usage, see the documentation of this feature and the tests in test/test_basic.cpp

Library Discovery

In rcpputils/find_library.hpp:

  • find_library(library_name): Namely used for dynamically loading RMW implementations.
    • For dynamically loading user-defind plugins in C++, please use pluginlib instead.

About

This is a development fork. Do not pull from this repo.

Resources

License

Code of conduct

Security policy

Stars

Watchers

Forks

Packages

No packages published

Languages

  • C++ 96.8%
  • CMake 3.2%