Index: tools/gn/label.h |
diff --git a/tools/gn/label.h b/tools/gn/label.h |
index 0c5d35d6804e5df32fbdcbf86bb400eeef2407bb..1cb8a9bcc17ad00da8506a476d789f194f2385ba 100644 |
--- a/tools/gn/label.h |
+++ b/tools/gn/label.h |
@@ -78,6 +78,13 @@ class Label { |
return toolchain_name_ < other.toolchain_name_; |
} |
+ void swap(Label& other) { |
+ std::swap(dir_, other.dir_); |
+ std::swap(name_, other.name_); |
+ std::swap(toolchain_dir_, other.toolchain_dir_); |
+ std::swap(toolchain_name_, other.toolchain_name_); |
+ } |
+ |
// Returns true if the toolchain dir/name of this object matches some |
// other object. |
bool ToolchainsEqual(const Label& other) const { |
@@ -116,4 +123,12 @@ inline size_t hash_value(const Label& v) { |
} // namespace BASE_HASH_NAMESPACE |
+namespace std { |
+ |
+template<> inline void swap(Label& lhs, Label& rhs) { |
+ lhs.swap(rhs); |
+} |
+ |
+} // namespace std |
+ |
#endif // TOOLS_GN_LABEL_H_ |