backend: defaulted move constructor/assignment

This commit is contained in:
Lioncash 2016-02-04 22:39:33 -05:00
parent 7497675a83
commit c89e3d5951

View file

@ -27,25 +27,9 @@ struct Entry {
std::string message; std::string message;
Entry() = default; Entry() = default;
Entry(Entry&& o) = default;
// TODO(yuriks) Use defaulted move constructors once MSVC supports them Entry& operator=(Entry&& o) = default;
#define MOVE(member) member(std::move(o.member))
Entry(Entry&& o)
: MOVE(timestamp), MOVE(log_class), MOVE(log_level),
MOVE(location), MOVE(message)
{}
#undef MOVE
Entry& operator=(const Entry&& o) {
#define MOVE(member) member = std::move(o.member)
MOVE(timestamp);
MOVE(log_class);
MOVE(log_level);
MOVE(location);
MOVE(message);
#undef MOVE
return *this;
}
}; };
/** /**