clang API Documentation

Public Member Functions
clang::DeltaTree Class Reference

#include <DeltaTree.h>

List of all members.

Public Member Functions

 DeltaTree ()
 DeltaTree (const DeltaTree &RHS)
 ~DeltaTree ()
int getDeltaAt (unsigned FileIndex) const
void AddDelta (unsigned FileIndex, int Delta)

Detailed Description

DeltaTree - a multiway search tree (BTree) structure with some fancy features. B-Trees are generally more memory and cache efficient than binary trees, because they store multiple keys/values in each node. This implements a key/value mapping from index to delta, and allows fast lookup on index. However, an added (important) bonus is that it can also efficiently tell us the full accumulated delta for a specific file offset as well, without traversing the whole tree.

Definition at line 28 of file DeltaTree.h.


Constructor & Destructor Documentation

Definition at line 387 of file DeltaTree.cpp.

DeltaTree::DeltaTree ( const DeltaTree RHS)

Definition at line 390 of file DeltaTree.cpp.

References getRoot().

Definition at line 397 of file DeltaTree.cpp.

References getRoot().


Member Function Documentation

void DeltaTree::AddDelta ( unsigned  FileIndex,
int  Delta 
)

AddDelta - When a change is made that shifts around the text buffer, this method is used to record that info. It inserts a delta of 'Delta' into the current DeltaTree at offset FileIndex.

Definition at line 451 of file DeltaTree.cpp.

References getRoot().

int DeltaTree::getDeltaAt ( unsigned  FileIndex) const

getDeltaAt - Return the accumulated delta at the specified file offset. This includes all insertions or delections that occurred *before* the specified file index.

Definition at line 404 of file DeltaTree.cpp.

References getRoot(), and Node.


The documentation for this class was generated from the following files: