clang-tools  10.0.0svn
Classes | Namespaces
PostingList.h File Reference

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). More...

#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.

Classes

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...
 

Namespaces

 clang
 ===– Representation.cpp - ClangDoc Representation --------—*- C++ -*-===//
 
 clang::clangd
 
 clang::clangd::dex
 

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: https://nlp.stanford.edu/IR-book/html/htmledition/variable-byte-codes-1.html

Definition in file PostingList.h.