LLVM API Documentation

Public Member Functions
llvm::IntervalMapImpl::LeafNode< KeyT, ValT, N, Traits > Class Template Reference

#include <IntervalMap.h>

Inheritance diagram for llvm::IntervalMapImpl::LeafNode< KeyT, ValT, N, Traits >:
Inheritance graph
[legend]
Collaboration diagram for llvm::IntervalMapImpl::LeafNode< KeyT, ValT, N, Traits >:
Collaboration graph
[legend]

List of all members.

Public Member Functions

const KeyTstart (unsigned i) const
const KeyTstop (unsigned i) const
const ValTvalue (unsigned i) const
KeyTstart (unsigned i)
KeyTstop (unsigned i)
ValTvalue (unsigned i)
unsigned findFrom (unsigned i, unsigned Size, KeyT x) const
unsigned safeFind (unsigned i, KeyT x) const
ValT safeLookup (KeyT x, ValT NotFound) const
unsigned insertFrom (unsigned &Pos, unsigned Size, KeyT a, KeyT b, ValT y)

Detailed Description

template<typename KeyT, typename ValT, unsigned N, typename Traits>
class llvm::IntervalMapImpl::LeafNode< KeyT, ValT, N, Traits >

Definition at line 559 of file IntervalMap.h.


Member Function Documentation

template<typename KeyT , typename ValT , unsigned N, typename Traits >
unsigned llvm::IntervalMapImpl::LeafNode< KeyT, ValT, N, Traits >::findFrom ( unsigned  i,
unsigned  Size,
KeyT  x 
) const [inline]

findFrom - Find the first interval after i that may contain x.

Parameters:
iStarting index for the search.
SizeNumber of elements in node.
xKey to search for.
Returns:
First index with !stopLess(key[i].stop, x), or size. This is the first interval that can possibly contain x.

Definition at line 575 of file IntervalMap.h.

References N.

template<typename KeyT , typename ValT , unsigned N, typename Traits >
unsigned llvm::IntervalMapImpl::LeafNode< KeyT, ValT, N, Traits >::insertFrom ( unsigned Pos,
unsigned  Size,
KeyT  a,
KeyT  b,
ValT  y 
)

insertFrom - Add mapping of [a;b] to y if possible, coalescing as much as possible. This may cause the node to grow by 1, or it may cause the node to shrink because of coalescing.

Parameters:
PosStarting index = insertFrom(0, size, a)
SizeNumber of elements in node.
aInterval start.
bInterval stop.
yValue be mapped.
Returns:
(insert position, new size), or (i, Capacity+1) on overflow.

Definition at line 623 of file IntervalMap.h.

References N.

Referenced by llvm::IntervalMap< KeyT, ValT, N, Traits >::iterator::insert().

template<typename KeyT , typename ValT , unsigned N, typename Traits >
unsigned llvm::IntervalMapImpl::LeafNode< KeyT, ValT, N, Traits >::safeFind ( unsigned  i,
KeyT  x 
) const [inline]

safeFind - Find an interval that is known to exist. This is the same as findFrom except is it assumed that x is at least within range of the last interval.

Parameters:
iStarting index for the search.
xKey to search for.
Returns:
First index with !stopLess(key[i].stop, x), never size. This is the first interval that can possibly contain x.

Definition at line 590 of file IntervalMap.h.

References N.

Referenced by llvm::IntervalMap< KeyT, ValT, N, Traits >::const_iterator::pathFillFind().

template<typename KeyT , typename ValT , unsigned N, typename Traits >
ValT llvm::IntervalMapImpl::LeafNode< KeyT, ValT, N, Traits >::safeLookup ( KeyT  x,
ValT  NotFound 
) const [inline]

safeLookup - Lookup mapped value for a safe key. It is assumed that x is within range of the last entry.

Parameters:
xKey to search for.
NotFoundValue to return if x is not in any interval.
Returns:
The mapped value at x or NotFound.

Definition at line 604 of file IntervalMap.h.

template<typename KeyT , typename ValT , unsigned N, typename Traits >
const KeyT& llvm::IntervalMapImpl::LeafNode< KeyT, ValT, N, Traits >::start ( unsigned  i) const [inline]
template<typename KeyT , typename ValT , unsigned N, typename Traits >
KeyT& llvm::IntervalMapImpl::LeafNode< KeyT, ValT, N, Traits >::start ( unsigned  i) [inline]

Definition at line 565 of file IntervalMap.h.

template<typename KeyT , typename ValT , unsigned N, typename Traits >
const KeyT& llvm::IntervalMapImpl::LeafNode< KeyT, ValT, N, Traits >::stop ( unsigned  i) const [inline]
template<typename KeyT , typename ValT , unsigned N, typename Traits >
KeyT& llvm::IntervalMapImpl::LeafNode< KeyT, ValT, N, Traits >::stop ( unsigned  i) [inline]

Definition at line 566 of file IntervalMap.h.

template<typename KeyT , typename ValT , unsigned N, typename Traits >
const ValT& llvm::IntervalMapImpl::LeafNode< KeyT, ValT, N, Traits >::value ( unsigned  i) const [inline]
template<typename KeyT , typename ValT , unsigned N, typename Traits >
ValT& llvm::IntervalMapImpl::LeafNode< KeyT, ValT, N, Traits >::value ( unsigned  i) [inline]

Definition at line 567 of file IntervalMap.h.


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