1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
| #pragma once
|
| #include <utility>
|
| #define TORCH_ARG(T, name) \
| public: \
| inline auto name(const T& new_##name)->decltype(*this) { /* NOLINT */ \
| this->name##_ = new_##name; \
| return *this; \
| } \
| inline auto name(T&& new_##name)->decltype(*this) { /* NOLINT */ \
| this->name##_ = std::move(new_##name); \
| return *this; \
| } \
| inline const T& name() const noexcept { /* NOLINT */ \
| return this->name##_; \
| } \
| private: \
| T name##_ /* NOLINT */
|
|