CARLA
 
载入中...
搜索中...
未找到
StreamStateBase.cpp
浏览该文件的文档.
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
8
9#include "carla/BufferPool.h"
10
11namespace carla { // 开始carla命名空间
12namespace streaming { // 开始streaming命名空间,表示与流相关的功能
13namespace detail { // 开始detail命名空间,通常用于包含实现细节,对外部隐藏
14
15 // StreamStateBase类的构造函数实现
16 // 构造函数接收一个token_type类型的参数token,用于标识或认证流
18 : _token(token), // 初始化成员变量_token,用于存储传入的token
19 _buffer_pool(std::make_shared<BufferPool>()) {}// 初始化成员变量_buffer_pool,它是一个指向BufferPool对象的智能指针,用于管理内存缓冲区
20
21// StreamStateBase类的析构函数实现
22 // 默认析构函数,自动调用,用于清理资源
23 // 由于_buffer_pool是一个智能指针,它会在析构时自动释放其管理的BufferPool对象
25
26 // StreamStateBase类的成员函数MakeBuffer实现
27 // 该函数用于从缓冲区池中获取一个新的缓冲区
29 auto pool = _buffer_pool;
30 return pool->Pop();
31 }
32
33} // namespace detail
34} // namespace streaming
35} // namespace carla
包含StreamStateBase类的定义,它是流状态的基础类。
一个缓冲区池。 从这个池中弹出的缓冲区在销毁时会自动返回到池中, 这样分配的内存可以被重用。
Definition BufferPool.h:29
一块原始数据。 请注意,如果需要更多容量,则会分配一个新的内存块,并 删除旧的内存块。这意味着默认情况下,缓冲区只能增长。要释放内存,使用 clear 或 pop。
StreamStateBase(const token_type &token)
构造函数,使用给定的令牌初始化对象。
virtual ~StreamStateBase()
析构函数,清理资源。
const std::shared_ptr< BufferPool > _buffer_pool
指向缓冲区池的共享指针,用于管理缓冲区。
Buffer MakeBuffer()
创建一个缓冲区。
静态断言,用于确保token_data结构体的大小与Token::data的大小相同。
CARLA模拟器的主命名空间。
Definition Carla.cpp:139