19 return OS <<
"BaseOf";
21 return OS <<
"OverriddenBy";
23 llvm_unreachable(
"Unhandled RelationKind enum.");
30llvm::iterator_range<RelationSlab::iterator>
32 auto IterPair = std::equal_range(Relations.begin(), Relations.end(),
33 Relation{Subject, Predicate, SymbolID{}},
35 return std::tie(A.Subject, A.Predicate) <
36 std::tie(B.Subject, B.Predicate);
38 return {IterPair.first, IterPair.second};
43 llvm::sort(Relations);
46 Relations.erase(std::unique(Relations.begin(), Relations.end()),
llvm::raw_string_ostream OS
llvm::iterator_range< iterator > lookup(const SymbolID &Subject, RelationKind Predicate) const
Lookup all relations matching the given subject and predicate.
llvm::raw_ostream & operator<<(llvm::raw_ostream &OS, const CodeCompletion &C)
===– Representation.cpp - ClangDoc Representation --------—*- C++ -*-===//
Represents a relation between two symbols.