ROS 2 rclcpp + rcl - rolling
rolling-20536064
ROS 2 C++ Client Library with ROS Client Library
rclcpp
src
rclcpp
executors
events_cbg_executor
global_event_id_provider.hpp
1
// Copyright 2024 Cellumation GmbH.
2
//
3
// Licensed under the Apache License, Version 2.0 (the "License");
4
// you may not use this file except in compliance with the License.
5
// You may obtain a copy of the License at
6
//
7
// http://www.apache.org/licenses/LICENSE-2.0
8
//
9
// Unless required by applicable law or agreed to in writing, software
10
// distributed under the License is distributed on an "AS IS" BASIS,
11
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
// See the License for the specific language governing permissions and
13
// limitations under the License.
14
15
#pragma once
16
17
#include <atomic>
18
#include <cstdint>
19
20
namespace
rclcpp
21
{
22
namespace
executors
23
{
24
namespace
cbg_executor
25
{
26
class
GlobalEventIdProvider
27
{
28
static
std::atomic<uint64_t> last_event_id;
29
30
public
:
31
using
MonotonicId = uint64_t;
32
33
// Returns the last id, returnd by getNextId
34
static
uint64_t get_last_id()
35
{
36
return
last_event_id;
37
}
38
39
// increases the Id by one and returns the Id
40
static
uint64_t get_next_id()
41
{
42
return
++last_event_id;
43
}
44
};
45
}
// namespace cbg_executor
46
}
// namespace executors
47
}
// namespace rclcpp
rclcpp::executors::cbg_executor::GlobalEventIdProvider
Definition:
global_event_id_provider.hpp:27
rclcpp
Versions of rosidl_typesupport_cpp::get_message_type_support_handle that handle adapted types.
Definition:
allocator_common.hpp:26
Generated by
1.9.1