15#ifndef LLVM_CLANG_TOOLING_INCLUSIONS_STANDARDLIBRARY_H
16#define LLVM_CLANG_TOOLING_INCLUSIONS_STANDARDLIBRARY_H
18#include "llvm/ADT/DenseMap.h"
19#include "llvm/ADT/Hashing.h"
20#include "llvm/ADT/StringRef.h"
21#include "llvm/Support/raw_ostream.h"
43 static std::optional<Header>
named(llvm::StringRef Name,
47 return OS << H.
name();
49 llvm::StringRef
name()
const;
57 friend llvm::DenseMapInfo<Header>;
74 static std::optional<Symbol>
78 return OS << S.qualifiedName();
80 llvm::StringRef
scope()
const;
81 llvm::StringRef
name()
const;
84 std::optional<Header>
header()
const;
94 friend llvm::DenseMapInfo<Symbol>;
110 using NSSymbolMap = llvm::DenseMap<llvm::StringRef, unsigned>;
112 llvm::DenseMap<const DeclContext *, NSSymbolMap *> NamespaceCache;
121template <>
struct DenseMapInfo<
clang::tooling::stdlib::Header> {
131 return hash_value(H.ID);
139template <>
struct DenseMapInfo<
clang::tooling::stdlib::Symbol> {
149 return hash_value(S.ID);
DeclContext - This is used only as base class of specific decl types that can act as declaration cont...
Decl - This represents one declaration (or definition), e.g.
Scope - A scope is a transient data structure that is used while parsing the program.
@ Decl
The l-value was an access to a declared entity or something equivalently strong, like the address of ...
Language
The language for the input, used to select and validate the language standard and possible actions.
YAML serialization mapping.