diff options
author | 2018-05-10 12:38:27 -0700 | |
---|---|---|
committer | 2018-05-10 12:46:18 -0700 | |
commit | 9c5aaf325bac0b0e180e3b1fe1ed81a88ef2fd55 (patch) | |
tree | 7e0c91d2a23d8de5ec666492bef2958530843cdc /tensorflow/core/lib/gtl/flatmap.h | |
parent | d0f396bb89d9d02f51c0a6e3ad17dd08ae9b8cd4 (diff) |
Make FlatSet and FlatMap movable.
PiperOrigin-RevId: 196156010
Diffstat (limited to 'tensorflow/core/lib/gtl/flatmap.h')
-rw-r--r-- | tensorflow/core/lib/gtl/flatmap.h | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/tensorflow/core/lib/gtl/flatmap.h b/tensorflow/core/lib/gtl/flatmap.h index 889d2ddaa6..9dc439c163 100644 --- a/tensorflow/core/lib/gtl/flatmap.h +++ b/tensorflow/core/lib/gtl/flatmap.h @@ -76,6 +76,10 @@ class FlatMap { FlatMap(const FlatMap& src) : rep_(src.rep_) {} + // Move constructor leaves src in a valid but unspecified state (same as + // std::unordered_map). + FlatMap(FlatMap&& src) : rep_(std::move(src.rep_)) {} + template <typename InputIter> FlatMap(InputIter first, InputIter last, size_t N = 1, const Hash& hf = Hash(), const Eq& eq = Eq()) @@ -92,6 +96,13 @@ class FlatMap { return *this; } + // Move-assignment operator leaves src in a valid but unspecified state (same + // as std::unordered_map). + FlatMap& operator=(FlatMap&& src) { + rep_.MoveFrom(std::move(src.rep_)); + return *this; + } + ~FlatMap() {} void swap(FlatMap& x) { rep_.swap(x.rep_); } |