{% from "templates/macros.tmpl" import license, source_files_for_generated_file %}
{{ license() }}

{{source_files_for_generated_file(template_file, input_files)}}

#ifndef THIRD_PARTY_BLINK_RENDERER_CORE_{{namespace|upper}}_ELEMENT_LOOKUP_TRIE_H_
#define THIRD_PARTY_BLINK_RENDERER_CORE_{{namespace|upper}}_ELEMENT_LOOKUP_TRIE_H_

#include "base/containers/span.h"
#include "third_party/blink/renderer/core/core_export.h"
#include "third_party/blink/renderer/platform/wtf/text/wtf_uchar.h"

namespace blink {
namespace {{namespace|lower}}_names {
enum class HTMLTag;
}

// Returns the tag for the supplied string. If the string matches a valid tag,
// `tag` is set and true is returned, otherwise this returns false.
CORE_EXPORT {{namespace|lower}}_names::HTMLTag Lookup{{namespace|title}}Tag(
    base::span<const UChar> span);

// Returns the tag for the supplied string. If the string matches a valid tag,
// `tag` is set and true is returned, otherwise this returns false.
CORE_EXPORT {{namespace|lower}}_names::HTMLTag Lookup{{namespace|title}}Tag(
    base::span<const LChar> span);

}  // namespace blink

#endif  // THIRD_PARTY_BLINK_RENDERER_CORE_{{namespace|upper}}_ELEMENT_LOOKUP_TRIE_H_
