CARLA
 
载入中...
搜索中...
未找到
LifetimeProfiled.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#pragma once
8
9#include <string>
10
11namespace carla {
12namespace profiler {
13// 定义了一个名为LifetimeProfiled的类,用于对象的生命周期性能分析
15 protected:
16// 当未定义LIBCARLA_ENABLE_LIFETIME_PROFILER宏时, LifetimeProfiled类的构造函数被设置为默认构造函数,
17#ifndef LIBCARLA_ENABLE_LIFETIME_PROFILER
18
19 LifetimeProfiled() = default;
20
21#else
22// 当定义了LIBCARLA_ENABLE_LIFETIME_PROFILER宏时,LifetimeProfiled类的构造函数接受一个std::string类型的参数display_name, 用于在性能分析中标识该对象。
23 LifetimeProfiled(std::string display_name);
24
25 public:
26 // 析构函数,用于在对象生命周期结束时执行清理工作,同时也可以在这里记录对象的销毁时间,作为性能分析的一部分
28
29#endif // LIBCARLA_ENABLE_LIFETIME_PROFILER
30 };
31
32} // namespace profiler
33} // namespace carla
34// 根据是否定义了LIBCARLA_ENABLE_LIFETIME_PROFILER宏,
35// LIBCARLA_INITIALIZE_LIFETIME_PROFILER宏被用来方便地初始化LifetimeProfiled对象
36#ifndef LIBCARLA_ENABLE_LIFETIME_PROFILER
37# define LIBCARLA_INITIALIZE_LIFETIME_PROFILER(display_name) ::carla::profiler::LifetimeProfiled()
38// 当性能分析功能被禁用时,该宏简单地创建一个LifetimeProfiled对象, 但不使用display_name参数
39#else
40# define LIBCARLA_INITIALIZE_LIFETIME_PROFILER(display_name) ::carla::profiler::LifetimeProfiled(display_name)
41// 当性能分析功能被启用时,该宏使用提供的display_name参数来创建LifetimeProfiled对象,以便在性能分析中包含该对象的标识信息
42#endif // LIBCARLA_ENABLE_LIFETIME_PROFILER
CARLA模拟器的主命名空间。
Definition Carla.cpp:139