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

Methods

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)

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)

Declared at: llvm/include/llvm/ADT/IntervalMap.h:1041

Parameters

llvm::IntervalMap::Allocator& a

llvm::IntervalMap::iterator begin()

Declared at: llvm/include/llvm/ADT/IntervalMap.h:1113

llvm::IntervalMap::const_iterator begin() const

Declared at: llvm/include/llvm/ADT/IntervalMap.h:1107

llvm::IntervalMap::IdxPair branchRoot(
    unsigned int Position)

Declared at: llvm/include/llvm/ADT/IntervalMap.h:1018

Parameters

unsigned int Position

bool branched() const

Declared at: llvm/include/llvm/ADT/IntervalMap.h:1033

void clear()

Description

clear - Remove all entries.

Declared at: llvm/include/llvm/ADT/IntervalMap.h:1100

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)

Declared at: llvm/include/llvm/ADT/IntervalMap.h:1038

Parameters

IntervalMapImpl::NodeRef Node
unsigned int Level

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()

Declared at: llvm/include/llvm/ADT/IntervalMap.h:1125

llvm::IntervalMap::const_iterator end() const

Declared at: llvm/include/llvm/ADT/IntervalMap.h:1119

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

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)

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

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()

Declared at: llvm/include/llvm/ADT/IntervalMap.h:1009

Templates

NodeT

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()

Declared at: llvm/include/llvm/ADT/IntervalMap.h:1005

const llvm::IntervalMap::RootBranch& rootBranch()
    const

Declared at: llvm/include/llvm/ADT/IntervalMap.h:1004

llvm::IntervalMap::RootBranchData&
rootBranchData()

Declared at: llvm/include/llvm/ADT/IntervalMap.h:999

const llvm::IntervalMap::RootBranchData&
rootBranchData() const

Declared at: llvm/include/llvm/ADT/IntervalMap.h:995

KeyT& rootBranchStart()

Declared at: llvm/include/llvm/ADT/IntervalMap.h:1007

KeyT rootBranchStart() const

Declared at: llvm/include/llvm/ADT/IntervalMap.h:1006

llvm::IntervalMap::RootLeaf& rootLeaf()

Declared at: llvm/include/llvm/ADT/IntervalMap.h:990

const llvm::IntervalMap::RootLeaf& rootLeaf()
    const

Declared at: llvm/include/llvm/ADT/IntervalMap.h:986

llvm::IntervalMap::IdxPair splitRoot(
    unsigned int Position)

Declared at: llvm/include/llvm/ADT/IntervalMap.h:1019

Parameters

unsigned int Position

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

Description

stop - Return the largest mapped key in a non-empty map.

Declared at: llvm/include/llvm/ADT/IntervalMap.h:1073

void switchRootToBranch()

Declared at: llvm/include/llvm/ADT/IntervalMap.h:1021

void switchRootToLeaf()

Declared at: llvm/include/llvm/ADT/IntervalMap.h:1027

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)

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>()

Declared at: llvm/include/llvm/ADT/IntervalMap.h:1056