#ifndef LLVM_CLANG_TOOLS_EXTRA_CLANGD_INDEX_REF_H
#define LLVM_CLANG_TOOLS_EXTRA_CLANGD_INDEX_REF_H
#include "index/SymbolID.h"
#include "index/SymbolLocation.h"
#include "llvm/ADT/Hashing.h"
#include "llvm/Support/Allocator.h"
#include "llvm/Support/StringSaver.h"
#include "llvm/Support/raw_ostream.h"
#include <cstdint>
#include <set>
#include <utility>
namespace clang {
namespace clangd {
enum class RefKind : uint8_t { … };
inline RefKind operator|(RefKind L, RefKind R) { … }
inline RefKind &operator|=(RefKind &L, RefKind R) { … }
inline RefKind operator&(RefKind A, RefKind B) { … }
llvm::raw_ostream &operator<<(llvm::raw_ostream &, RefKind);
struct Ref { … };
inline bool operator<(const Ref &L, const Ref &R) { … }
inline bool operator==(const Ref &L, const Ref &R) { … }
llvm::raw_ostream &operator<<(llvm::raw_ostream &, const Ref &);
class RefSlab { … };
}
}
namespace llvm {
template <> struct DenseMapInfo<clang::clangd::RefSlab::Builder::Entry> { … };
}
#endif