CARLA
 
载入中...
搜索中...
未找到
CarlaRecorderEventParent.h
浏览该文件的文档.
1// Copyright (c) 2017 Computer Vision Center (CVC) at the Universitat Autonoma
2// de Barcelona (UAB).
3//
4// This work is licensed under the terms of the MIT license.
5// For a copy, see <https://opensource.org/licenses/MIT>.
6
7// 这个头文件保护宏,用于防止头文件被重复包含
8#pragma once
9
10// 包含输入/输出流相关的头文件,用于后续的文件读写操作等
11#include <sstream>
12// 包含向量容器的头文件,用于存储一组相关的数据元素
13#include <vector>
14
15// 定义CarlaRecorderEventParent结构体,它可能用于记录某个事件相关的信息,
16// 这些信息可能与Carla记录器相关(推测,具体取决于整个项目上下文)
18{
19 // 用于在数据库中唯一标识该事件的ID,类型为无符号32位整数
20 uint32_t DatabaseId;
21 // 可能用于标识该事件父级相关的ID(同样具体含义取决于项目业务逻辑),类型为无符号32位整数
23
24 // 从输入流(比如文件流等)中读取该结构体相关的数据成员的值,
25 // 具体的读取格式和内容需要根据实际的流中数据格式来确定
26 void Read(std::istream &InFile);
27 // 将该结构体相关的数据成员的值写入到输出流(例如文件流等)中,
28 // 写入的格式也需要按照项目约定的格式进行
29 void Write(std::ostream &OutFile) const;
30};
31
32// 定义CarlaRecorderEventsParent类,它可能是用于管理一组CarlaRecorderEventParent结构体对象的集合,
33// 比如对这些事件相关信息进行添加、清除、读写等操作
35{
36public:
37 // 向内部存储的事件集合(Events)中添加一个CarlaRecorderEventParent类型的事件对象,
38 // 这样可以不断积累需要管理的事件信息
39 void Add(const CarlaRecorderEventParent &Event);
40 // 清空内部存储的所有事件信息,即将事件集合(Events)中的元素全部移除,
41 // 可用于重置状态或者重新开始记录等场景
42 void Clear(void);
43 // 将内部存储的所有事件信息写入到输出流(例如文件流)中,
44 // 会依次调用每个事件对象的Write函数来完成具体的写入操作
45 void Write(std::ostream &OutFile);
46 // 从输入流(例如文件流)中读取事件信息,并填充到内部的事件集合(Events)中,
47 // 会根据流中的数据格式依次解析并创建对应的事件对象
48 void Read(std::istream &InFile);
49 // 获取内部存储的所有事件对象组成的常引用向量,
50 // 通过这个函数外部代码可以获取到当前管理的所有事件信息,但不能修改这些事件对象本身(因为是常引用)
51 const std::vector<CarlaRecorderEventParent>& GetEvents();
52
53private:
54 // 使用vector容器来存储CarlaRecorderEventParent类型的事件对象,
55 // 这个容器用于管理所有相关的事件信息,在类的各个成员函数中会对其进行操作
56 std::vector<CarlaRecorderEventParent> Events;
57};
const std::vector< CarlaRecorderEventParent > & GetEvents()
void Write(std::ostream &OutFile)
void Read(std::istream &InFile)
void Add(const CarlaRecorderEventParent &Event)
std::vector< CarlaRecorderEventParent > Events
void Write(std::ostream &OutFile) const
void Read(std::istream &InFile)