Merge pull request #1392 from lioncash/move

backend: defaulted move constructor/assignment
This commit is contained in:
Yuri Kunde Schlesner 2016-02-04 20:39:36 -08:00
commit 7400100da7
1 changed files with 2 additions and 18 deletions

View File

@ -27,25 +27,9 @@ struct Entry {
std::string message;
Entry() = default;
Entry(Entry&& o) = default;
// TODO(yuriks) Use defaulted move constructors once MSVC supports them
#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;
}
Entry& operator=(Entry&& o) = default;
};
/**