summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--BUILD1
-rw-r--r--upbc/generator.cc5
-rw-r--r--upbc/message_layout.h10
3 files changed, 8 insertions, 8 deletions
diff --git a/BUILD b/BUILD
index 025f728..66672ce 100644
--- a/BUILD
+++ b/BUILD
@@ -207,6 +207,7 @@ cc_library(
copts = CPPOPTS,
deps = [
"@absl//absl/base:core_headers",
+ "@absl//absl/container:flat_hash_map",
"@absl//absl/strings",
"@com_google_protobuf//:protobuf",
"@com_google_protobuf//:protoc_lib",
diff --git a/upbc/generator.cc b/upbc/generator.cc
index 5843597..1337e28 100644
--- a/upbc/generator.cc
+++ b/upbc/generator.cc
@@ -1,8 +1,7 @@
-#include <unordered_map>
-#include <unordered_set>
#include <memory>
+#include "absl/container/flat_hash_map.h"
#include "absl/strings/ascii.h"
#include "absl/strings/str_replace.h"
#include "absl/strings/substitute.h"
@@ -594,7 +593,7 @@ void WriteSource(const protobuf::FileDescriptor* file, Output& output) {
std::string fields_array_ref = "NULL";
std::string submsgs_array_ref = "NULL";
std::string oneofs_array_ref = "NULL";
- std::unordered_map<const protobuf::Descriptor*, int> submsg_indexes;
+ absl::flat_hash_map<const protobuf::Descriptor*, int> submsg_indexes;
MessageLayout layout(message);
std::vector<const protobuf::FieldDescriptor*> sorted_submsgs =
SortedSubmessages(message);
diff --git a/upbc/message_layout.h b/upbc/message_layout.h
index a4cb289..c2446a0 100644
--- a/upbc/message_layout.h
+++ b/upbc/message_layout.h
@@ -2,8 +2,8 @@
#ifndef UPBC_MESSAGE_LAYOUT_H
#define UPBC_MESSAGE_LAYOUT_H
-#include <unordered_map>
#include "absl/base/macros.h"
+#include "absl/container/flat_hash_map.h"
#include "google/protobuf/descriptor.h"
namespace upbc {
@@ -70,7 +70,7 @@ class MessageLayout {
Size Place(SizeAndAlign size_and_align);
template <class K, class V>
- static V GetMapValue(const std::unordered_map<K, V>& map, K key) {
+ static V GetMapValue(const absl::flat_hash_map<K, V>& map, K key) {
auto iter = map.find(key);
if (iter == map.end()) {
fprintf(stderr, "No value for field.\n");
@@ -92,11 +92,11 @@ class MessageLayout {
static int64_t FieldLayoutRank(
const google::protobuf::FieldDescriptor* field);
- std::unordered_map<const google::protobuf::FieldDescriptor*, Size>
+ absl::flat_hash_map<const google::protobuf::FieldDescriptor*, Size>
field_offsets_;
- std::unordered_map<const google::protobuf::FieldDescriptor*, int>
+ absl::flat_hash_map<const google::protobuf::FieldDescriptor*, int>
hasbit_indexes_;
- std::unordered_map<const google::protobuf::OneofDescriptor*, Size>
+ absl::flat_hash_map<const google::protobuf::OneofDescriptor*, Size>
oneof_case_offsets_;
Size maxalign_;
Size size_;
generated by cgit on debian on lair
contact matthew@masot.net with questions or feedback