class NodeBase

Declaration

template <typename T1, typename T2, unsigned int N>
class NodeBase { /* full declaration omitted */ };

Declared at: llvm/include/llvm/ADT/IntervalMap.h:223

Templates

T1
T2
unsigned int N

Member Variables

public T1[N] first
public T2[N] second

Method Overview

  • public int adjustFromLeftSib(unsigned int Size, NodeBase<T1, T2, N> & Sib, unsigned int SSize, int Add)
  • public template <unsigned int M>void copy(const NodeBase<T1, T2, M> & Other, unsigned int i, unsigned int j, unsigned int Count)
  • public void erase(unsigned int i, unsigned int j, unsigned int Size)
  • public void erase(unsigned int i, unsigned int Size)
  • public void moveLeft(unsigned int i, unsigned int j, unsigned int Count)
  • public void moveRight(unsigned int i, unsigned int j, unsigned int Count)
  • public void shift(unsigned int i, unsigned int Size)
  • public void transferToLeftSib(unsigned int Size, NodeBase<T1, T2, N> & Sib, unsigned int SSize, unsigned int Count)
  • public void transferToRightSib(unsigned int Size, NodeBase<T1, T2, N> & Sib, unsigned int SSize, unsigned int Count)

Methods

int adjustFromLeftSib(unsigned int Size,
                      NodeBase<T1, T2, N>& Sib,
                      unsigned int SSize,
                      int Add)

Description

adjustFromLeftSib - Adjust the number if elements in this node by moving elements to or from a left sibling node.

Declared at: llvm/include/llvm/ADT/IntervalMap.h:319

Parameters

unsigned int Size
Number of elements in this.
NodeBase<T1, T2, N>& Sib
Right sibling node.
unsigned int SSize
Number of elements in sib.
int Add
The number of elements to add to this node, possibly < 0.

Returns

Number of elements added to this node, possibly negative.

template <unsigned int M>
void copy(const NodeBase<T1, T2, M>& Other,
          unsigned int i,
          unsigned int j,
          unsigned int Count)

Description

copy - Copy elements from another node.

Declared at: llvm/include/llvm/ADT/IntervalMap.h:236

Templates

unsigned int M

Parameters

const NodeBase<T1, T2, M>& Other
Node elements are copied from.
unsigned int i
Beginning of the source range in other.
unsigned int j
Beginning of the destination range in this.
unsigned int Count
Number of elements to copy.

void erase(unsigned int i,
           unsigned int j,
           unsigned int Size)

Description

erase - Erase elements [i;j).

Declared at: llvm/include/llvm/ADT/IntervalMap.h:272

Parameters

unsigned int i
Beginning of the range to erase.
unsigned int j
End of the range. (Exclusive).
unsigned int Size
Number of elements in node.

void erase(unsigned int i, unsigned int Size)

Description

erase - Erase element at i.

Declared at: llvm/include/llvm/ADT/IntervalMap.h:279

Parameters

unsigned int i
Index of element to erase.
unsigned int Size
Number of elements in node.

void moveLeft(unsigned int i,
              unsigned int j,
              unsigned int Count)

Description

moveLeft - Move elements to the left.

Declared at: llvm/include/llvm/ADT/IntervalMap.h:250

Parameters

unsigned int i
Beginning of the source range.
unsigned int j
Beginning of the destination range.
unsigned int Count
Number of elements to copy.

void moveRight(unsigned int i,
               unsigned int j,
               unsigned int Count)

Description

moveRight - Move elements to the right.

Declared at: llvm/include/llvm/ADT/IntervalMap.h:259

Parameters

unsigned int i
Beginning of the source range.
unsigned int j
Beginning of the destination range.
unsigned int Count
Number of elements to copy.

void shift(unsigned int i, unsigned int Size)

Description

shift - Shift elements [i;size) 1 position to the right.

Declared at: llvm/include/llvm/ADT/IntervalMap.h:286

Parameters

unsigned int i
Beginning of the range to move.
unsigned int Size
Number of elements in node.

void transferToLeftSib(unsigned int Size,
                       NodeBase<T1, T2, N>& Sib,
                       unsigned int SSize,
                       unsigned int Count)

Description

transferToLeftSib - Transfer elements to a left sibling node.

Declared at: llvm/include/llvm/ADT/IntervalMap.h:295

Parameters

unsigned int Size
Number of elements in this.
NodeBase<T1, T2, N>& Sib
Left sibling node.
unsigned int SSize
Number of elements in sib.
unsigned int Count
Number of elements to transfer.

void transferToRightSib(unsigned int Size,
                        NodeBase<T1, T2, N>& Sib,
                        unsigned int SSize,
                        unsigned int Count)

Description

transferToRightSib - Transfer elements to a right sibling node.

Declared at: llvm/include/llvm/ADT/IntervalMap.h:306

Parameters

unsigned int Size
Number of elements in this.
NodeBase<T1, T2, N>& Sib
Right sibling node.
unsigned int SSize
Number of elements in sib.
unsigned int Count
Number of elements to transfer.