Program Listing for File FEATURES.md

Return to documentation for file (docs/FEATURES.md)

# rosidl_runtime_c Features

## Primitive sequence definitions initializations and finalizations

`rosidl_runtime_c` provides default definitions, as well as initialization and finalization functions for the supported rosidl primitive sequence types.
These functions are defined in the following headers:

* `primitives_sequence.h`: C struct definitions for all supported primitive sequence types.
* `primitive_sequence_functions.h`: initialization and finalization functionality for the above defined sequences.
* `sequence_bound.h`: Struct designed to track the upper bounds size of a sequence. Currently unused.

## String and u16string definitions, initializations and finalizations

Like the sequences described above, `rosidl_runtime_c` provides definitions, as well as initialization and finalization functions for 8-bit and 16-bit character strings.

* `string.h`: C struct definition for an 8-bit string.
* `string_functions.h`: initialization and finalization functionality for the rosidl 8-bit string.
* `string_bound.h`: Designed to track the upper bounds size of a string. Currently unused.

* `u16string.h`: C struct definition for a 16-bit string.
* `u16string_functions.h`: initialization and finalization functionality for the rosidl 16-bit string.

## Typesupport structs

This package defines several structs which are utilized for providing access to properties and functionality of different rosidl types.
They are defined for the three main ROS 2 rosidl types:
* Messages (`message_type_support_struct.h`)
* Services (`service_type_support_struct.h`)
* Actions (`action_type_support_struct.h`)