class IntervalMap
Declaration
template <typename KeyT,
typename ValT,
unsigned int N = IntervalMapImpl::NodeSizer<
type - parameter - 0 - 0,
type - parameter - 0 - 1>::LeafSize,
typename Traits = IntervalMapInfo<KeyT>>
class IntervalMap { /* full declaration omitted */ };
Declared at: llvm/include/llvm/ADT/IntervalMap.h:936
Templates
- KeyT
- ValT
- unsigned int N = IntervalMapImpl::NodeSizer<type-parameter-0-0, type-parameter-0-1>::LeafSize
- Traits = IntervalMapInfo<KeyT>
Member Variables
- private anonymous struct / union
- private unsigned int height
- private unsigned int rootSize
- private llvm::IntervalMap::Allocator& allocator
Method Overview
- public IntervalMap<KeyT, ValT, N, Traits>(IntervalMap<KeyT, ValT, N, Traits> && Other)
- public IntervalMap<KeyT, ValT, N, Traits>(const IntervalMap<KeyT, ValT, N, Traits> & Other)
- public IntervalMap<KeyT, ValT, N, Traits>(llvm::IntervalMap::Allocator & a)
- public llvm::IntervalMap::iterator begin()
- public llvm::IntervalMap::const_iterator begin() const
- private llvm::IntervalMap::IdxPair branchRoot(unsigned int Position)
- private bool branched() const
- public void clear()
- private template <typename NodeT>void deleteNode(NodeT * P)
- private void deleteNode(IntervalMapImpl::NodeRef Node, unsigned int Level)
- public bool empty() const
- public llvm::IntervalMap::iterator end()
- public llvm::IntervalMap::const_iterator end() const
- public llvm::IntervalMap::iterator find(KeyT x)
- public llvm::IntervalMap::const_iterator find(KeyT x) const
- public void insert(KeyT a, KeyT b, ValT y)
- public ValT lookup(KeyT x, ValT NotFound = type-parameter-0-1()) const
- private template <typename NodeT>NodeT * newNode()
- public bool overlaps(KeyT a, KeyT b) const
- private llvm::IntervalMap::RootBranch & rootBranch()
- private const llvm::IntervalMap::RootBranch & rootBranch() const
- private llvm::IntervalMap::RootBranchData & rootBranchData()
- private const llvm::IntervalMap::RootBranchData & rootBranchData() const
- private KeyT & rootBranchStart()
- private KeyT rootBranchStart() const
- private llvm::IntervalMap::RootLeaf & rootLeaf()
- private const llvm::IntervalMap::RootLeaf & rootLeaf() const
- private llvm::IntervalMap::IdxPair splitRoot(unsigned int Position)
- public KeyT start() const
- public KeyT stop() const
- private void switchRootToBranch()
- private void switchRootToLeaf()
- private ValT treeSafeLookup(KeyT x, ValT NotFound) const
- private void visitNodes(void (IntervalMap<KeyT, ValT, N, Traits>::*)(IntervalMapImpl::NodeRef, unsigned int) f)
- public ~IntervalMap<KeyT, ValT, N, Traits>()
Methods
¶IntervalMap<KeyT, ValT, N, Traits>(
IntervalMap<KeyT, ValT, N, Traits>&& Other)
IntervalMap<KeyT, ValT, N, Traits>(
IntervalMap<KeyT, ValT, N, Traits>&& Other)
Declared at: llvm/include/llvm/ADT/IntervalMap.h:1050
Parameters
- IntervalMap<KeyT, ValT, N, Traits>&& Other
¶IntervalMap<KeyT, ValT, N, Traits>(
const IntervalMap<KeyT, ValT, N, Traits>&
Other)
IntervalMap<KeyT, ValT, N, Traits>(
const IntervalMap<KeyT, ValT, N, Traits>&
Other)
Declared at: llvm/include/llvm/ADT/IntervalMap.h:1049
Parameters
- const IntervalMap<KeyT, ValT, N, Traits>& Other
¶IntervalMap<KeyT, ValT, N, Traits>(
llvm::IntervalMap::Allocator& a)
IntervalMap<KeyT, ValT, N, Traits>(
llvm::IntervalMap::Allocator& a)
Declared at: llvm/include/llvm/ADT/IntervalMap.h:1041
Parameters
- llvm::IntervalMap::Allocator& a
¶llvm::IntervalMap::iterator begin()
llvm::IntervalMap::iterator begin()
Declared at: llvm/include/llvm/ADT/IntervalMap.h:1113
¶llvm::IntervalMap::const_iterator begin() const
llvm::IntervalMap::const_iterator begin() const
Declared at: llvm/include/llvm/ADT/IntervalMap.h:1107
¶llvm::IntervalMap::IdxPair branchRoot(
unsigned int Position)
llvm::IntervalMap::IdxPair branchRoot(
unsigned int Position)
Declared at: llvm/include/llvm/ADT/IntervalMap.h:1018
Parameters
- unsigned int Position
¶bool branched() const
bool branched() const
Declared at: llvm/include/llvm/ADT/IntervalMap.h:1033
¶void clear()
void clear()
Description
clear - Remove all entries.
Declared at: llvm/include/llvm/ADT/IntervalMap.h:1100
¶template <typename NodeT>
void deleteNode(NodeT* P)
template <typename NodeT>
void deleteNode(NodeT* P)
Declared at: llvm/include/llvm/ADT/IntervalMap.h:1013
Templates
- NodeT
Parameters
- NodeT* P
¶void deleteNode(IntervalMapImpl::NodeRef Node,
unsigned int Level)
void deleteNode(IntervalMapImpl::NodeRef Node,
unsigned int Level)
Declared at: llvm/include/llvm/ADT/IntervalMap.h:1038
Parameters
- IntervalMapImpl::NodeRef Node
- unsigned int Level
¶bool empty() const
bool empty() const
Description
empty - Return true when no intervals are mapped.
Declared at: llvm/include/llvm/ADT/IntervalMap.h:1062
¶llvm::IntervalMap::iterator end()
llvm::IntervalMap::iterator end()
Declared at: llvm/include/llvm/ADT/IntervalMap.h:1125
¶llvm::IntervalMap::const_iterator end() const
llvm::IntervalMap::const_iterator end() const
Declared at: llvm/include/llvm/ADT/IntervalMap.h:1119
¶llvm::IntervalMap::iterator find(KeyT x)
llvm::IntervalMap::iterator find(KeyT x)
Declared at: llvm/include/llvm/ADT/IntervalMap.h:1139
Parameters
- KeyT x
¶llvm::IntervalMap::const_iterator find(
KeyT x) const
llvm::IntervalMap::const_iterator find(
KeyT x) const
Description
find - Return an iterator pointing to the first interval ending at or after x, or end().
Declared at: llvm/include/llvm/ADT/IntervalMap.h:1133
Parameters
- KeyT x
¶void insert(KeyT a, KeyT b, ValT y)
void insert(KeyT a, KeyT b, ValT y)
Description
insert - Add a mapping of [a;b] to y, coalesce with adjacent intervals. It is assumed that no key in the interval is mapped to another value, but overlapping intervals already mapped to y will be coalesced.
Declared at: llvm/include/llvm/ADT/IntervalMap.h:1090
Parameters
- KeyT a
- KeyT b
- ValT y
¶ValT lookup(KeyT x,
ValT NotFound = type - parameter - 0 -
1()) const
ValT lookup(KeyT x,
ValT NotFound = type - parameter - 0 -
1()) const
Description
lookup - Return the mapped value at x or NotFound.
Declared at: llvm/include/llvm/ADT/IntervalMap.h:1080
Parameters
- KeyT x
- ValT NotFound = type-parameter-0-1()
¶template <typename NodeT>
NodeT* newNode()
template <typename NodeT>
NodeT* newNode()
Declared at: llvm/include/llvm/ADT/IntervalMap.h:1009
Templates
- NodeT
¶bool overlaps(KeyT a, KeyT b) const
bool overlaps(KeyT a, KeyT b) const
Description
overlaps(a, b) - Return true if the intervals in this map overlap with the interval [a;b].
Declared at: llvm/include/llvm/ADT/IntervalMap.h:1147
Parameters
- KeyT a
- KeyT b
¶llvm::IntervalMap::RootBranch& rootBranch()
llvm::IntervalMap::RootBranch& rootBranch()
Declared at: llvm/include/llvm/ADT/IntervalMap.h:1005
¶const llvm::IntervalMap::RootBranch& rootBranch()
const
const llvm::IntervalMap::RootBranch& rootBranch()
const
Declared at: llvm/include/llvm/ADT/IntervalMap.h:1004
¶llvm::IntervalMap::RootBranchData&
rootBranchData()
llvm::IntervalMap::RootBranchData&
rootBranchData()
Declared at: llvm/include/llvm/ADT/IntervalMap.h:999
¶const llvm::IntervalMap::RootBranchData&
rootBranchData() const
const llvm::IntervalMap::RootBranchData&
rootBranchData() const
Declared at: llvm/include/llvm/ADT/IntervalMap.h:995
¶KeyT& rootBranchStart()
KeyT& rootBranchStart()
Declared at: llvm/include/llvm/ADT/IntervalMap.h:1007
¶KeyT rootBranchStart() const
KeyT rootBranchStart() const
Declared at: llvm/include/llvm/ADT/IntervalMap.h:1006
¶llvm::IntervalMap::RootLeaf& rootLeaf()
llvm::IntervalMap::RootLeaf& rootLeaf()
Declared at: llvm/include/llvm/ADT/IntervalMap.h:990
¶const llvm::IntervalMap::RootLeaf& rootLeaf()
const
const llvm::IntervalMap::RootLeaf& rootLeaf()
const
Declared at: llvm/include/llvm/ADT/IntervalMap.h:986
¶llvm::IntervalMap::IdxPair splitRoot(
unsigned int Position)
llvm::IntervalMap::IdxPair splitRoot(
unsigned int Position)
Declared at: llvm/include/llvm/ADT/IntervalMap.h:1019
Parameters
- unsigned int Position
¶KeyT start() const
KeyT start() const
Description
start - Return the smallest mapped key in a non-empty map.
Declared at: llvm/include/llvm/ADT/IntervalMap.h:1067
¶KeyT stop() const
KeyT stop() const
Description
stop - Return the largest mapped key in a non-empty map.
Declared at: llvm/include/llvm/ADT/IntervalMap.h:1073
¶void switchRootToBranch()
void switchRootToBranch()
Declared at: llvm/include/llvm/ADT/IntervalMap.h:1021
¶void switchRootToLeaf()
void switchRootToLeaf()
Declared at: llvm/include/llvm/ADT/IntervalMap.h:1027
¶ValT treeSafeLookup(KeyT x, ValT NotFound) const
ValT treeSafeLookup(KeyT x, ValT NotFound) const
Description
treeSafeLookup - Return the mapped value at x or NotFound, assuming a branched root.
Declared at: llvm/include/llvm/ADT/IntervalMap.h:1035
Parameters
- KeyT x
- ValT NotFound
¶void visitNodes(
void (IntervalMap<KeyT, ValT, N, Traits>::*)(
IntervalMapImpl::NodeRef,
unsigned int) f)
void visitNodes(
void (IntervalMap<KeyT, ValT, N, Traits>::*)(
IntervalMapImpl::NodeRef,
unsigned int) f)
Description
visitNodes - Visit each external node.
Declared at: llvm/include/llvm/ADT/IntervalMap.h:1036
Parameters
- void (IntervalMap<KeyT, ValT, N, Traits>::*)( IntervalMapImpl::NodeRef, unsigned int) f
¶~IntervalMap<KeyT, ValT, N, Traits>()
~IntervalMap<KeyT, ValT, N, Traits>()
Declared at: llvm/include/llvm/ADT/IntervalMap.h:1056