GKD.RoboCtrl
RoboMaster Linux 电控:异步 IO、设备驱动与机器人控制
载入中...
搜索中...
未找到
defer.hpp
1
#pragma once
2
3
#include <functional>
4
#include <utility>
5
6
#define DEFER_CAT_IMPL(x, y) x##y
7
#define DEFER_CAT(x, y) DEFER_CAT_IMPL(x, y)
8
9
#define defer(...) auto DEFER_CAT(_defer_, __COUNTER__) = ::roboctrl::utils::detail::Defer([&](){ __VA_ARGS__; })
10
11
namespace
roboctrl::utils
{
12
namespace
detail {
13
struct
Defer
{
14
template
<
class
F>
15
Defer
(F&& f) : fn(std::forward<F>(f)) {}
16
17
~Defer
() { fn(); }
18
19
std::function<void()> fn;
20
};
21
}
22
}
roboctrl::utils
用于存放工具函数的命名空间。
Definition
ballistics.hpp:6
roboctrl::utils::detail::Defer
Definition
defer.hpp:13
include
utils
defer.hpp
制作者
1.9.8