aboutsummaryrefslogtreecommitdiffhomepage
path: root/tensorflow/core/lib/gtl/flatmap.h
diff options
context:
space:
mode:
authorGravatar Justin Lebar <jlebar@google.com>2018-05-10 12:38:27 -0700
committerGravatar TensorFlower Gardener <gardener@tensorflow.org>2018-05-10 12:46:18 -0700
commit9c5aaf325bac0b0e180e3b1fe1ed81a88ef2fd55 (patch)
tree7e0c91d2a23d8de5ec666492bef2958530843cdc /tensorflow/core/lib/gtl/flatmap.h
parentd0f396bb89d9d02f51c0a6e3ad17dd08ae9b8cd4 (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.h11
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_); }