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 KeyT & start (unsigned i) const
const KeyT & stop (unsigned i) const
const ValT & value (unsigned i) const
KeyT & start (unsigned i)
KeyT & stop (unsigned i)
ValT & value (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: