24 #include <fmt/ranges.h>
28 template <
typename T,
typename... Args>
30 static_assert(std::is_move_constructible_v<T>);
31 static_assert(std::is_move_assignable_v<T>);
40 fmt::print(
"*** Reached end of trace: {}\n",
args_);
41 intern_ = T{std::apply([](
auto... x) {
return T{x...}; },
args_)};
47 bool eof()
const {
return false; }
Definition: champsim.h:24
Definition: repeatable.h:29
T intern_
Definition: repeatable.h:33
auto operator()()
Definition: repeatable.h:36
bool eof() const
Definition: repeatable.h:47
std::tuple< Args... > args_
Definition: repeatable.h:30
repeatable(Args... args)
Definition: repeatable.h:34