Merge pull request #3956 from lioncash/telemetry

common/telemetry: Minor changes
This commit is contained in:
Weiyi Wang 2018-07-19 10:14:06 +03:00 committed by GitHub
commit 67c0c2e0a0
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -52,27 +52,14 @@ public:
template <typename T> template <typename T>
class Field : public FieldInterface { class Field : public FieldInterface {
public: public:
Field(FieldType type, std::string name, const T& value) Field(FieldType type, std::string name, T value)
: name(std::move(name)), type(type), value(value) {}
Field(FieldType type, std::string name, T&& value)
: name(std::move(name)), type(type), value(std::move(value)) {} : name(std::move(name)), type(type), value(std::move(value)) {}
Field(const Field& other) : Field(other.type, other.name, other.value) {} Field(const Field& other) = default;
Field& operator=(const Field& other) = default;
Field& operator=(const Field& other) { Field(Field&&) = default;
type = other.type; Field& operator=(Field&& other) = default;
name = other.name;
value = other.value;
return *this;
}
Field& operator=(Field&& other) {
type = other.type;
name = std::move(other.name);
value = std::move(other.value);
return *this;
}
void Accept(VisitorInterface& visitor) const override; void Accept(VisitorInterface& visitor) const override;
@ -94,11 +81,11 @@ public:
return value; return value;
} }
inline bool operator==(const Field<T>& other) { bool operator==(const Field& other) const {
return (type == other.type) && (name == other.name) && (value == other.value); return (type == other.type) && (name == other.name) && (value == other.value);
} }
inline bool operator!=(const Field<T>& other) { bool operator!=(const Field& other) const {
return !(*this == other); return !(*this == other);
} }