/*
- * Copyright 2016 Facebook, Inc.
+ * Copyright 2017 Facebook, Inc.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
#include <unordered_map>
#include <utility>
-#include <folly/Hash.h>
#include <folly/Range.h>
#include <folly/experimental/StringKeyedCommon.h>
+#include <folly/hash/Hash.h>
namespace folly {
private:
using Base = std::unordered_map<StringPiece, Value, Hash, Eq, Alloc>;
-public:
+ public:
typedef typename Base::key_type key_type;
typedef typename Base::mapped_type mapped_type;
typedef typename Base::value_type value_type;
using Base::cbegin;
using Base::cend;
- bool operator==(const StringKeyedUnorderedMap& rhs) {
- const Base& lhs = *this;
+ bool operator==(StringKeyedUnorderedMap const& other) const {
+ Base const& lhs = *this;
+ Base const& rhs = static_cast<Base const&>(other);
return lhs == rhs;
}
+ void swap(StringKeyedUnorderedMap& other) & {
+ return Base::swap(other);
+ }
+
// No need for copy/move overload as StringPiece is small struct.
mapped_type& operator[](StringPiece key) {
auto it = find(key);
}
};
-} // folly
+} // namespace folly