C++ API

rclcpp: ROS Client Library for C++

rclcpp provides the canonical C++ API for interacting with ROS. It consists of these main components:

There are also some components which help control the execution of callbacks:

Additionally, there are some methods for introspecting the ROS graph:

And components related to logging:

  • Logging macros:

    • Some examples (not exhaustive):

      • RCLCPP_DEBUG()

      • RCLCPP_INFO()

      • RCLCPP_WARN_ONCE()

      • RCLCPP_ERROR_SKIPFIRST()

    • rclcpp/logging.hpp

  • Logger:

Finally, there are many internal API’s and utilities:

  • Exceptions:

    • rclcpp/exceptions.hpp

  • Allocator related items:

    • rclcpp/allocator/allocator_common.hpp

    • rclcpp/allocator/allocator_deleter.hpp

  • Generic publisher

  • Generic subscription

  • Memory management tools:

    • rclcpp/memory_strategies.hpp

    • rclcpp/memory_strategy.hpp

    • rclcpp/message_memory_strategy.hpp

    • rclcpp/strategies/allocator_memory_strategy.hpp

    • rclcpp/strategies/message_pool_memory_strategy.hpp

  • Context object which is shared amongst multiple Nodes:

  • Various utilities:

    • rclcpp/duration.hpp

    • rclcpp/function_traits.hpp

    • rclcpp/macros.hpp

    • rclcpp/time.hpp

    • rclcpp/utilities.hpp

    • rclcpp/typesupport_helpers.hpp

    • rclcpp/visibility_control.hpp

Page Hierarchy

Full C++ API

Namespaces

Classes and Structs

Enums

Functions

Variables

Defines

Typedefs

Directories

Files

Pages