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::BranchNode< typename, typename, unsigned, typename > Class Template Reference

#include <IntervalMap.h>

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

Public Member Functions

const KeyTstop (unsigned i) const
 
const NodeRefsubtree (unsigned i) const
 
KeyTstop (unsigned i)
 
NodeRefsubtree (unsigned i)
 
unsigned findFrom (unsigned i, unsigned Size, KeyT x) const
 
unsigned safeFind (unsigned i, KeyT x) const
 
NodeRef safeLookup (KeyT x) const
 
void insert (unsigned i, unsigned Size, NodeRef Node, KeyT Stop)
 
- Public Member Functions inherited from llvm::IntervalMapImpl::NodeBase< NodeRef, KeyT, N >
void copy (const NodeBase< NodeRef, KeyT, 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< NodeRef, KeyT, N >
enum  
 
- Public Attributes inherited from llvm::IntervalMapImpl::NodeBase< NodeRef, KeyT, N >
NodeRef first [N]
 
KeyT second [N]
 

Detailed Description

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

Definition at line 180 of file IntervalMap.h.

Member Function Documentation

template<typename , typename , unsigned , typename >
unsigned llvm::IntervalMapImpl::BranchNode< typename, typename, unsigned, typename >::findFrom ( unsigned  i,
unsigned  Size,
KeyT  x 
) const
inline

findFrom - Find the first subtree 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], x), or size. This is the first subtree that can possibly contain x.

Definition at line 711 of file IntervalMap.h.

template<typename , typename , unsigned , typename >
void llvm::IntervalMapImpl::BranchNode< typename, typename, unsigned, typename >::insert ( unsigned  i,
unsigned  Size,
NodeRef  Node,
KeyT  Stop 
)
inline

insert - Insert a new (subtree, stop) pair.

Parameters
iInsert position, following entries will be shifted.
SizeNumber of elements in node.
NodeSubtree to insert.
StopLast key in subtree.

Definition at line 746 of file IntervalMap.h.

template<typename , typename , unsigned , typename >
unsigned llvm::IntervalMapImpl::BranchNode< typename, typename, unsigned, typename >::safeFind ( unsigned  i,
KeyT  x 
) const
inline

safeFind - Find a subtree that is known to exist. This is the same as findFrom except is it assumed that x is in range.

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

Definition at line 725 of file IntervalMap.h.

template<typename , typename , unsigned , typename >
NodeRef llvm::IntervalMapImpl::BranchNode< typename, typename, unsigned, typename >::safeLookup ( KeyT  x) const
inline

safeLookup - Get the subtree containing x, Assuming that x is in range.

Parameters
xKey to search for.
Returns
Subtree containing x

Definition at line 737 of file IntervalMap.h.

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

Definition at line 702 of file IntervalMap.h.

template<typename , typename , unsigned , typename >
const NodeRef& llvm::IntervalMapImpl::BranchNode< typename, typename, unsigned, typename >::subtree ( unsigned  i) const
inline

Definition at line 700 of file IntervalMap.h.

template<typename , typename , unsigned , typename >
NodeRef& llvm::IntervalMapImpl::BranchNode< typename, typename, unsigned, typename >::subtree ( unsigned  i)
inline

Definition at line 703 of file IntervalMap.h.


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