clang-tools 20.0.0git
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>

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

namespace  clang
 ===– Representation.cpp - ClangDoc Representation --------—*- C++ -*-===//
 
namespace  clang::clangd
 FIXME: Skip testing on windows temporarily due to the different escaping code mode.
 
namespace  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.