|
@@ -1,6 +1,5 @@
|
|
|
#pragma once
|
|
#pragma once
|
|
|
|
|
|
|
|
-#include <map>
|
|
|
|
|
#include <memory>
|
|
#include <memory>
|
|
|
#include <optional>
|
|
#include <optional>
|
|
|
#include <stdexcept> // IWYU pragma: keep
|
|
#include <stdexcept> // IWYU pragma: keep
|
|
@@ -122,11 +121,11 @@ private:
|
|
|
// An owning cache of all created schemas. Avoids storing duplicates such as
|
|
// An owning cache of all created schemas. Avoids storing duplicates such as
|
|
|
// the "always-true" schema, "always-false" schema, and schemas whose only
|
|
// the "always-true" schema, "always-false" schema, and schemas whose only
|
|
|
// meaningful field is "$ref", "$recursiveRef", or "$dynamicRef".
|
|
// meaningful field is "$ref", "$recursiveRef", or "$dynamicRef".
|
|
|
- std::map<detail::Reference, schema::Node> cache_;
|
|
|
|
|
|
|
+ std::unordered_map<detail::Reference, schema::Node> cache_;
|
|
|
|
|
|
|
|
// A non-owning cache of all schemas, including duplcates where multiple
|
|
// A non-owning cache of all schemas, including duplcates where multiple
|
|
|
// References map to the same underlying schema.
|
|
// References map to the same underlying schema.
|
|
|
- std::map<detail::Reference, schema::Node const *> alias_cache_;
|
|
|
|
|
|
|
+ std::unordered_map<detail::Reference, schema::Node const *> alias_cache_;
|
|
|
|
|
|
|
|
public:
|
|
public:
|
|
|
/**
|
|
/**
|