LLVM API Documentation

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Public Member Functions | List of all members
llvm::IntervalMapImpl::LeafNode< typename, typename, unsigned, typename > Class Template Reference

#include <IntervalMap.h>

Inheritance diagram for llvm::IntervalMapImpl::LeafNode< typename, typename, unsigned, typename >:
Inheritance graph
[legend]
Collaboration diagram for llvm::IntervalMapImpl::LeafNode< typename, typename, unsigned, typename >:
Collaboration graph
[legend]

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)
 
- Public Member Functions inherited from llvm::IntervalMapImpl::NodeBase< std::pair< KeyT, KeyT >, ValT, N >
void copy (const NodeBase< std::pair< KeyT, KeyT >, ValT, M > &Other, unsigned i, unsigned j, unsigned Count)
 
void moveLeft (unsigned i, unsigned j, unsigned Count)
 
void moveRight (unsigned i, unsigned j, unsigned Count)
 
void erase (unsigned i, unsigned j, unsigned Size)
 
void erase (unsigned i, unsigned Size)
 
void shift (unsigned i, unsigned Size)
 
void transferToLeftSib (unsigned Size, NodeBase &Sib, unsigned SSize, unsigned Count)
 
void transferToRightSib (unsigned Size, NodeBase &Sib, unsigned SSize, unsigned Count)
 
int adjustFromLeftSib (unsigned Size, NodeBase &Sib, unsigned SSize, int Add)
 

Additional Inherited Members

- Public Types inherited from llvm::IntervalMapImpl::NodeBase< std::pair< KeyT, KeyT >, ValT, N >
enum  
 
- Public Attributes inherited from llvm::IntervalMapImpl::NodeBase< std::pair< KeyT, KeyT >, ValT, N >
std::pair< KeyT, KeyTfirst [N]
 
ValT second [N]
 

Detailed Description

template<typename, typename, unsigned, typename>
class llvm::IntervalMapImpl::LeafNode< typename, typename, unsigned, typename >

Definition at line 179 of file IntervalMap.h.

Member Function Documentation

template<typename , typename , unsigned , typename >
unsigned llvm::IntervalMapImpl::LeafNode< typename, typename, unsigned, typename >::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 , typename , unsigned , typename >
unsigned llvm::IntervalMapImpl::LeafNode< typename, typename, unsigned, typename >::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 , typename , unsigned , typename >
ValT llvm::IntervalMapImpl::LeafNode< typename, typename, unsigned, typename >::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 , typename , unsigned , typename >
const KeyT& llvm::IntervalMapImpl::LeafNode< typename, typename, unsigned, typename >::start ( unsigned  i) const
inline
template<typename , typename , unsigned , typename >
KeyT& llvm::IntervalMapImpl::LeafNode< typename, typename, unsigned, typename >::start ( unsigned  i)
inline

Definition at line 565 of file IntervalMap.h.

template<typename , typename , unsigned , typename >
const KeyT& llvm::IntervalMapImpl::LeafNode< typename, typename, unsigned, typename >::stop ( unsigned  i) const
inline
template<typename , typename , unsigned , typename >
KeyT& llvm::IntervalMapImpl::LeafNode< typename, typename, unsigned, typename >::stop ( unsigned  i)
inline

Definition at line 566 of file IntervalMap.h.

template<typename , typename , unsigned , typename >
const ValT& llvm::IntervalMapImpl::LeafNode< typename, typename, unsigned, typename >::value ( unsigned  i) const
inline
template<typename , typename , unsigned , typename >
ValT& llvm::IntervalMapImpl::LeafNode< typename, typename, unsigned, typename >::value ( unsigned  i)
inline

Definition at line 567 of file IntervalMap.h.


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