aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/google/protobuf/stubs/hash.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/google/protobuf/stubs/hash.h')
-rwxr-xr-xsrc/google/protobuf/stubs/hash.h11
1 files changed, 9 insertions, 2 deletions
diff --git a/src/google/protobuf/stubs/hash.h b/src/google/protobuf/stubs/hash.h
index 82d5052e..11bc2b37 100755
--- a/src/google/protobuf/stubs/hash.h
+++ b/src/google/protobuf/stubs/hash.h
@@ -172,6 +172,13 @@ struct hash<const char*> {
}
};
+template<>
+struct hash<bool> {
+ size_t operator()(bool x) const {
+ return static_cast<size_t>(x);
+ }
+};
+
template <typename Key, typename Data,
typename HashFcn = hash<Key>,
typename EqualKey = std::equal_to<Key>,
@@ -204,7 +211,7 @@ struct hash<string> {
static const size_t bucket_size = 4;
static const size_t min_buckets = 8;
- inline size_t operator()(const string& a, const string& b) const {
+ inline bool operator()(const string& a, const string& b) const {
return a < b;
}
};
@@ -222,7 +229,7 @@ struct hash<pair<First, Second> > {
static const size_t bucket_size = 4;
static const size_t min_buckets = 8;
- inline size_t operator()(const pair<First, Second>& a,
+ inline bool operator()(const pair<First, Second>& a,
const pair<First, Second>& b) const {
return a < b;
}