clang-tools  15.0.0git
Classes | Namespaces
PostingList.h File Reference
#include "Iterator.h"
#include "llvm/ADT/ArrayRef.h"
#include "llvm/ADT/SmallVector.h"
#include <cstdint>
#include <vector>
Include dependency graph for PostingList.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.


struct  clang::clangd::dex::Chunk
 NOTE: This is an implementation detail. More...
class  clang::clangd::dex::PostingList
 PostingList is the storage of DocIDs which can be inserted to the Query Tree as a leaf by constructing Iterator over the PostingList object. More...


 ===– Representation.cpp - ClangDoc Representation --------—*- C++ -*-===//

Detailed Description

This defines posting list interface: a storage for identifiers of symbols which can be characterized by a specific feature (such as fuzzy-find trigram, scope, type or any other Search Token). Posting lists can be traversed in order using an iterator and are values for inverted index, which maps search tokens to corresponding posting lists.

In order to decrease size of Index in-memory representation, Variable Byte Encoding (VByte) is used for PostingLists compression. An overview of VByte algorithm can be found in "Introduction to Information Retrieval" book:

Definition in file PostingList.h.