Program Listing for File primitives_sequence_functions.h

Return to documentation for file (include/rosidl_runtime_c/primitives_sequence_functions.h)

// Copyright 2015 Open Source Robotics Foundation, Inc.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//     http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.

#ifndef ROSIDL_RUNTIME_C__PRIMITIVES_SEQUENCE_FUNCTIONS_H_
#define ROSIDL_RUNTIME_C__PRIMITIVES_SEQUENCE_FUNCTIONS_H_

#include <stdbool.h>
#include <stddef.h>

#include "rosidl_runtime_c/primitives_sequence.h"
#include "rosidl_runtime_c/visibility_control.h"

#ifdef __cplusplus
extern "C"
{
#endif

#define ROSIDL_RUNTIME_C__DECLARE_PRIMITIVE_SEQUENCE_INIT(STRUCT_NAME) \
 \
  ROSIDL_GENERATOR_C_PUBLIC \
  bool rosidl_runtime_c__ ## STRUCT_NAME ## __Sequence__init( \
    rosidl_runtime_c__ ## STRUCT_NAME ## __Sequence * sequence, size_t size);

#define ROSIDL_RUNTIME_C__DECLARE_PRIMITIVE_SEQUENCE_FINI(STRUCT_NAME) \
 \
  ROSIDL_GENERATOR_C_PUBLIC \
  void rosidl_runtime_c__ ## STRUCT_NAME ## __Sequence__fini( \
    rosidl_runtime_c__ ## STRUCT_NAME ## __Sequence * sequence);

#define ROSIDL_RUNTIME_C__DECLARE_PRIMITIVE_SEQUENCE_EQ(STRUCT_NAME) \
 \
  ROSIDL_GENERATOR_C_PUBLIC \
  bool rosidl_runtime_c__ ## STRUCT_NAME ## __Sequence__are_equal( \
    const rosidl_runtime_c__ ## STRUCT_NAME ## __Sequence * lhs, \
    const rosidl_runtime_c__ ## STRUCT_NAME ## __Sequence * rhs);

#define ROSIDL_RUNTIME_C__DECLARE_PRIMITIVE_SEQUENCE_COPY(STRUCT_NAME) \
 \
  ROSIDL_GENERATOR_C_PUBLIC \
  bool rosidl_runtime_c__ ## STRUCT_NAME ## __Sequence__copy( \
    const rosidl_runtime_c__ ## STRUCT_NAME ## __Sequence * input, \
    rosidl_runtime_c__ ## STRUCT_NAME ## __Sequence * output);

#define ROSIDL_RUNTIME_C__DECLARE_PRIMITIVE_SEQUENCE_FUNCTIONS(STRUCT_NAME) \
  ROSIDL_RUNTIME_C__DECLARE_PRIMITIVE_SEQUENCE_INIT(STRUCT_NAME) \
  ROSIDL_RUNTIME_C__DECLARE_PRIMITIVE_SEQUENCE_FINI(STRUCT_NAME) \
  ROSIDL_RUNTIME_C__DECLARE_PRIMITIVE_SEQUENCE_EQ(STRUCT_NAME) \
  ROSIDL_RUNTIME_C__DECLARE_PRIMITIVE_SEQUENCE_COPY(STRUCT_NAME)

ROSIDL_RUNTIME_C__DECLARE_PRIMITIVE_SEQUENCE_FUNCTIONS(float)
ROSIDL_RUNTIME_C__DECLARE_PRIMITIVE_SEQUENCE_FUNCTIONS(double)
ROSIDL_RUNTIME_C__DECLARE_PRIMITIVE_SEQUENCE_FUNCTIONS(long_double)
ROSIDL_RUNTIME_C__DECLARE_PRIMITIVE_SEQUENCE_FUNCTIONS(char)
ROSIDL_RUNTIME_C__DECLARE_PRIMITIVE_SEQUENCE_FUNCTIONS(wchar)
ROSIDL_RUNTIME_C__DECLARE_PRIMITIVE_SEQUENCE_FUNCTIONS(boolean)
ROSIDL_RUNTIME_C__DECLARE_PRIMITIVE_SEQUENCE_FUNCTIONS(octet)
ROSIDL_RUNTIME_C__DECLARE_PRIMITIVE_SEQUENCE_FUNCTIONS(uint8)
ROSIDL_RUNTIME_C__DECLARE_PRIMITIVE_SEQUENCE_FUNCTIONS(int8)
ROSIDL_RUNTIME_C__DECLARE_PRIMITIVE_SEQUENCE_FUNCTIONS(uint16)
ROSIDL_RUNTIME_C__DECLARE_PRIMITIVE_SEQUENCE_FUNCTIONS(int16)
ROSIDL_RUNTIME_C__DECLARE_PRIMITIVE_SEQUENCE_FUNCTIONS(uint32)
ROSIDL_RUNTIME_C__DECLARE_PRIMITIVE_SEQUENCE_FUNCTIONS(int32)
ROSIDL_RUNTIME_C__DECLARE_PRIMITIVE_SEQUENCE_FUNCTIONS(uint64)
ROSIDL_RUNTIME_C__DECLARE_PRIMITIVE_SEQUENCE_FUNCTIONS(int64)
ROSIDL_GENERATOR_C_PUBLIC
bool rosidl_runtime_c__bool__Sequence__init(
  rosidl_runtime_c__boolean__Sequence * sequence, size_t size);
ROSIDL_GENERATOR_C_PUBLIC
void rosidl_runtime_c__bool__Sequence__fini(
  rosidl_runtime_c__boolean__Sequence * sequence);
ROSIDL_GENERATOR_C_PUBLIC
bool rosidl_runtime_c__bool__Sequence__are_equal(
  const rosidl_runtime_c__boolean__Sequence * lhs,
  const rosidl_runtime_c__boolean__Sequence * rhs);
ROSIDL_GENERATOR_C_PUBLIC
bool rosidl_runtime_c__bool__Sequence__copy(
  const rosidl_runtime_c__boolean__Sequence * input,
  rosidl_runtime_c__boolean__Sequence * output);

ROSIDL_GENERATOR_C_PUBLIC
bool rosidl_runtime_c__byte__Sequence__init(
  rosidl_runtime_c__octet__Sequence * sequence, size_t size);
ROSIDL_GENERATOR_C_PUBLIC
void rosidl_runtime_c__byte__Sequence__fini(
  rosidl_runtime_c__octet__Sequence * sequence);
ROSIDL_GENERATOR_C_PUBLIC
bool rosidl_runtime_c__byte__Sequence__are_equal(
  const rosidl_runtime_c__octet__Sequence * lhs,
  const rosidl_runtime_c__octet__Sequence * rhs);
ROSIDL_GENERATOR_C_PUBLIC
bool rosidl_runtime_c__byte__Sequence__copy(
  const rosidl_runtime_c__octet__Sequence * input,
  rosidl_runtime_c__octet__Sequence * output);

ROSIDL_GENERATOR_C_PUBLIC
bool rosidl_runtime_c__float32__Sequence__init(
  rosidl_runtime_c__float__Sequence * sequence, size_t size);
ROSIDL_GENERATOR_C_PUBLIC
void rosidl_runtime_c__float32__Sequence__fini(
  rosidl_runtime_c__float__Sequence * sequence);
ROSIDL_GENERATOR_C_PUBLIC
bool rosidl_runtime_c__float32__Sequence__are_equal(
  const rosidl_runtime_c__float__Sequence * lhs,
  const rosidl_runtime_c__float__Sequence * rhs);
ROSIDL_GENERATOR_C_PUBLIC
bool rosidl_runtime_c__float32__Sequence__copy(
  const rosidl_runtime_c__float__Sequence * input,
  rosidl_runtime_c__float__Sequence * output);

ROSIDL_GENERATOR_C_PUBLIC
bool rosidl_runtime_c__float64__Sequence__init(
  rosidl_runtime_c__double__Sequence * sequence, size_t size);
ROSIDL_GENERATOR_C_PUBLIC
void rosidl_runtime_c__float64__Sequence__fini(
  rosidl_runtime_c__double__Sequence * sequence);
ROSIDL_GENERATOR_C_PUBLIC
bool rosidl_runtime_c__float64__Sequence__are_equal(
  const rosidl_runtime_c__double__Sequence * lhs,
  const rosidl_runtime_c__double__Sequence * rhs);
ROSIDL_GENERATOR_C_PUBLIC
bool rosidl_runtime_c__float64__Sequence__copy(
  const rosidl_runtime_c__double__Sequence * input,
  rosidl_runtime_c__double__Sequence * output);
#ifdef __cplusplus
}
#endif

#endif  // ROSIDL_RUNTIME_C__PRIMITIVES_SEQUENCE_FUNCTIONS_H_