LLVM API Documentation
#include <IntervalMap.h>


Public Types | |
| enum | { Capacity = N } |
Public Member Functions | |
| template<unsigned M> | |
| void | copy (const NodeBase< T1, T2, 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) |
Public Attributes | |
| T1 | first [N] |
| T2 | second [N] |
Definition at line 213 of file IntervalMap.h.
| anonymous enum |
Definition at line 215 of file IntervalMap.h.
| int llvm::IntervalMapImpl::NodeBase< T1, T2, N >::adjustFromLeftSib | ( | unsigned | Size, |
| NodeBase< T1, T2, N > & | Sib, | ||
| unsigned | SSize, | ||
| int | Add | ||
| ) | [inline] |
adjustFromLeftSib - Adjust the number if elements in this node by moving elements to or from a left sibling node.
| Size | Number of elements in this. |
| Sib | Right sibling node. |
| SSize | Number of elements in sib. |
| Add | The number of elements to add to this node, possibly < 0. |
Definition at line 309 of file IntervalMap.h.
| void llvm::IntervalMapImpl::NodeBase< T1, T2, N >::copy | ( | const NodeBase< T1, T2, M > & | Other, |
| unsigned | i, | ||
| unsigned | j, | ||
| unsigned | Count | ||
| ) | [inline] |
copy - Copy elements from another node.
| Other | Node elements are copied from. |
| i | Beginning of the source range in other. |
| j | Beginning of the destination range in this. |
| Count | Number of elements to copy. |
Definition at line 226 of file IntervalMap.h.
Referenced by llvm::IntervalMapImpl::NodeBase< std::pair< KeyT, KeyT >, ValT, N >::moveLeft(), llvm::IntervalMapImpl::NodeBase< std::pair< KeyT, KeyT >, ValT, N >::transferToLeftSib(), and llvm::IntervalMapImpl::NodeBase< std::pair< KeyT, KeyT >, ValT, N >::transferToRightSib().
| void llvm::IntervalMapImpl::NodeBase< T1, T2, N >::erase | ( | unsigned | i, |
| unsigned | j, | ||
| unsigned | Size | ||
| ) | [inline] |
erase - Erase elements [i;j).
| i | Beginning of the range to erase. |
| j | End of the range. (Exclusive). |
| Size | Number of elements in node. |
Definition at line 262 of file IntervalMap.h.
Referenced by llvm::IntervalMapImpl::NodeBase< std::pair< KeyT, KeyT >, ValT, N >::erase(), llvm::IntervalMap< KeyT, ValT, N, Traits >::iterator::erase(), and llvm::IntervalMapImpl::NodeBase< std::pair< KeyT, KeyT >, ValT, N >::transferToLeftSib().
| void llvm::IntervalMapImpl::NodeBase< T1, T2, N >::erase | ( | unsigned | i, |
| unsigned | Size | ||
| ) | [inline] |
erase - Erase element at i.
| i | Index of element to erase. |
| Size | Number of elements in node. |
Definition at line 269 of file IntervalMap.h.
| void llvm::IntervalMapImpl::NodeBase< T1, T2, N >::moveLeft | ( | unsigned | i, |
| unsigned | j, | ||
| unsigned | Count | ||
| ) | [inline] |
moveLeft - Move elements to the left.
| i | Beginning of the source range. |
| j | Beginning of the destination range. |
| Count | Number of elements to copy. |
Definition at line 240 of file IntervalMap.h.
Referenced by llvm::IntervalMapImpl::NodeBase< std::pair< KeyT, KeyT >, ValT, N >::erase().
| void llvm::IntervalMapImpl::NodeBase< T1, T2, N >::moveRight | ( | unsigned | i, |
| unsigned | j, | ||
| unsigned | Count | ||
| ) | [inline] |
moveRight - Move elements to the right.
| i | Beginning of the source range. |
| j | Beginning of the destination range. |
| Count | Number of elements to copy. |
Definition at line 249 of file IntervalMap.h.
Referenced by llvm::IntervalMapImpl::NodeBase< std::pair< KeyT, KeyT >, ValT, N >::shift(), and llvm::IntervalMapImpl::NodeBase< std::pair< KeyT, KeyT >, ValT, N >::transferToRightSib().
| void llvm::IntervalMapImpl::NodeBase< T1, T2, N >::shift | ( | unsigned | i, |
| unsigned | Size | ||
| ) | [inline] |
shift - Shift elements [i;size) 1 position to the right.
| i | Beginning of the range to move. |
| Size | Number of elements in node. |
Definition at line 276 of file IntervalMap.h.
| void llvm::IntervalMapImpl::NodeBase< T1, T2, N >::transferToLeftSib | ( | unsigned | Size, |
| NodeBase< T1, T2, N > & | Sib, | ||
| unsigned | SSize, | ||
| unsigned | Count | ||
| ) | [inline] |
transferToLeftSib - Transfer elements to a left sibling node.
| Size | Number of elements in this. |
| Sib | Left sibling node. |
| SSize | Number of elements in sib. |
| Count | Number of elements to transfer. |
Definition at line 285 of file IntervalMap.h.
Referenced by llvm::IntervalMapImpl::NodeBase< std::pair< KeyT, KeyT >, ValT, N >::adjustFromLeftSib().
| void llvm::IntervalMapImpl::NodeBase< T1, T2, N >::transferToRightSib | ( | unsigned | Size, |
| NodeBase< T1, T2, N > & | Sib, | ||
| unsigned | SSize, | ||
| unsigned | Count | ||
| ) | [inline] |
transferToRightSib - Transfer elements to a right sibling node.
| Size | Number of elements in this. |
| Sib | Right sibling node. |
| SSize | Number of elements in sib. |
| Count | Number of elements to transfer. |
Definition at line 296 of file IntervalMap.h.
Referenced by llvm::IntervalMapImpl::NodeBase< std::pair< KeyT, KeyT >, ValT, N >::adjustFromLeftSib().
| T1 llvm::IntervalMapImpl::NodeBase< T1, T2, N >::first[N] |
Definition at line 217 of file IntervalMap.h.
Referenced by llvm::IntervalMapImpl::NodeBase< std::pair< KeyT, KeyT >, ValT, N >::copy(), and llvm::IntervalMapImpl::NodeBase< std::pair< KeyT, KeyT >, ValT, N >::moveRight().
| T2 llvm::IntervalMapImpl::NodeBase< T1, T2, N >::second[N] |
Definition at line 218 of file IntervalMap.h.
Referenced by llvm::IntervalMapImpl::NodeBase< std::pair< KeyT, KeyT >, ValT, N >::copy(), and llvm::IntervalMapImpl::NodeBase< std::pair< KeyT, KeyT >, ValT, N >::moveRight().