gfe-relnote: n/a(new class type not in use) Add SimpleLinkedHashMap which is
forked from chromium linked_hash_map.h.
This class is not used in google3, but used by other platform, i.e.
chromium, envoy, etc.
PiperOrigin-RevId: 245234098
Change-Id: Id453c101c9d191ae509ceb4f92c85a7486802e60
diff --git a/common/platform/api/quiche_ptr_util.h b/common/platform/api/quiche_ptr_util.h
new file mode 100644
index 0000000..26b152b
--- /dev/null
+++ b/common/platform/api/quiche_ptr_util.h
@@ -0,0 +1,21 @@
+// Copyright (c) 2019 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#ifndef QUICHE_COMMON_PLATFORM_API_QUICHE_PTR_UTIL_H_
+#define QUICHE_COMMON_PLATFORM_API_QUICHE_PTR_UTIL_H_
+
+#include <memory>
+
+#include "net/quiche/common/platform/impl/quiche_ptr_util_impl.h"
+
+namespace quiche {
+
+template <typename T, typename... Args>
+std::unique_ptr<T> QuicheMakeUnique(Args&&... args) {
+ return QuicheMakeUniqueImpl<T>(std::forward<Args>(args)...);
+}
+
+} // namespace quiche
+
+#endif // QUICHE_COMMON_PLATFORM_API_QUICHE_PTR_UTIL_H_
diff --git a/common/platform/api/quiche_test.h b/common/platform/api/quiche_test.h
new file mode 100644
index 0000000..f51c85e
--- /dev/null
+++ b/common/platform/api/quiche_test.h
@@ -0,0 +1,10 @@
+// Copyright (c) 2019 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#ifndef QUICHE_COMMON_PLATFORM_API_QUICHE_TEST_H_
+#define QUICHE_COMMON_PLATFORM_API_QUICHE_TEST_H_
+
+#include "net/quiche/common/platform/impl/quiche_test_impl.h"
+
+#endif // QUICHE_COMMON_PLATFORM_API_QUICHE_TEST_H_
diff --git a/common/platform/api/quiche_unordered_containers.h b/common/platform/api/quiche_unordered_containers.h
new file mode 100644
index 0000000..583f97e
--- /dev/null
+++ b/common/platform/api/quiche_unordered_containers.h
@@ -0,0 +1,24 @@
+// Copyright (c) 2019 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#ifndef QUICHE_COMMON_PLATFORM_API_QUICHE_UNORDERED_CONTAINERS_H_
+#define QUICHE_COMMON_PLATFORM_API_QUICHE_UNORDERED_CONTAINERS_H_
+
+#include "net/quiche/common/platform/impl/quiche_unordered_containers_impl.h"
+
+namespace quiche {
+
+// The default hasher used by hash tables.
+template <typename Key>
+using QuicheDefaultHasher = QuicheDefaultHasherImpl<Key>;
+
+// A general-purpose unordered map.
+template <typename Key,
+ typename Value,
+ typename Hash = QuicheDefaultHasher<Key>>
+using QuicheUnorderedMap = QuicheUnorderedMapImpl<Key, Value, Hash>;
+
+} // namespace quiche
+
+#endif // QUICHE_COMMON_PLATFORM_API_QUICHE_UNORDERED_CONTAINERS_H_