backend: defaulted move constructor/assignment
This commit is contained in:
parent
7497675a83
commit
c89e3d5951
|
@ -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;
|
|
||||||
}
|
|
||||||
};
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
Loading…
Reference in a new issue