rcpputils repository

Repository Summary

Checkout URI https://github.com/ros2/rcpputils.git
VCS Type git
VCS Version eloquent
Last Updated 2019-11-13
Dev Status MAINTAINED
CI status No Continuous Integration
Released RELEASED
Package Tags No category tags.

Packages

Name Version
rcpputils 0.2.1

README

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.

Repository Summary

Checkout URI https://github.com/ros2/rcpputils.git
VCS Type git
VCS Version dashing
Last Updated 2019-07-31
Dev Status MAINTAINED
CI status No Continuous Integration
Released RELEASED
Package Tags No category tags.

Packages

Name Version
rcpputils 0.1.1

README

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

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