llvm::DenseMapIterator

Forward iterator over occupied DenseMap / SmallDenseMap buckets.

Synopsis

Declared in <llvm/ADT/DenseMap.h>

template<
    typename KeyT,
    typename ValueT,
    typename KeyInfoT = DenseMapInfo<KeyT>,
    typename Bucket = /* implementation-defined */,
    bool IsConst = false>
class DenseMapIterator;

Description

Skips empty slots using the parallel used-bit array and participates in epoch-based invalidation checks via DebugEpochBase::HandleBase.

Type Aliases

NameDescription
difference_type Distance between iterators.
iterator_category Forward iterator over occupied buckets.
pointer Pointer to a bucket (const when iterating a const map).
reference Reference to the bucket at the iterator position.
value_type Reference type for the bucket at the iterator position.

Member Functions

NameDescription
DenseMapIterator [constructor]Constructors
operator* Return a reference to the bucket at this iterator position.
operator++ Increment operators
operator-> Return a pointer to the bucket at this iterator position.

Static Member Functions

NameDescription
makeBegin Return an iterator to the first occupied bucket, or end if IsEmpty.
makeEnd Return a past-the-end iterator for the bucket range.
makeIterator Build an iterator positioned at bucket pointer P within Buckets.

Friends

NameDescription
llvm::operator!=Return whether LHS and RHS refer to different buckets.
llvm::operator==Return whether LHS and RHS refer to the same bucket.
llvm::DenseMapIteratorForward iterator over occupied DenseMap / SmallDenseMap buckets.