class ImmutableList

Declaration

template <typename T>
class ImmutableList { /* full declaration omitted */ };

Description

ImmutableList - This class represents an immutable (functional) list. It is implemented as a smart pointer (wraps ImmutableListImpl), so it it is intended to always be copied by value as if it were a pointer. This interface matches ImmutableSet and ImmutableMap. ImmutableList objects should almost never be created directly, and instead should be created by ImmutableListFactory objects that manage the lifetime of a group of lists. When the factory object is reclaimed, all lists created by that factory are released as well.

Declared at: llvm/include/llvm/ADT/ImmutableList.h:65

Templates

T

Member Variables

private const ImmutableListImpl<T>* X

Method Overview

  • public ImmutableList<T>(const ImmutableListImpl<T> * x = nullptr)
  • public void Profile(llvm::FoldingSetNodeID & ID) const
  • public llvm::ImmutableList::iterator begin() const
  • public bool contains(const T & V) const
  • public llvm::ImmutableList::iterator end() const
  • public const T & getHead() const
  • public const ImmutableListImpl<T> * getInternalPointer() const
  • public ImmutableList<T> getTail() const
  • public bool isEmpty() const
  • public bool isEqual(const ImmutableList<T> & L) const

Methods

ImmutableList<T>(
    const ImmutableListImpl<T>* x = nullptr)

Declared at: llvm/include/llvm/ADT/ImmutableList.h:80

Parameters

const ImmutableListImpl<T>* x = nullptr

void Profile(llvm::FoldingSetNodeID& ID) const

Declared at: llvm/include/llvm/ADT/ImmutableList.h:144

Parameters

llvm::FoldingSetNodeID& ID

llvm::ImmutableList::iterator begin() const

Description

begin - Returns an iterator referring to the head of the list, or an iterator denoting the end of the list if the list is empty.

Declared at: llvm/include/llvm/ADT/ImmutableList.h:106

bool contains(const T& V) const

Declared at: llvm/include/llvm/ADT/ImmutableList.h:115

Parameters

const T& V

llvm::ImmutableList::iterator end() const

Description

end - Returns an iterator denoting the end of the list. This iterator does not refer to a valid list element.

Declared at: llvm/include/llvm/ADT/ImmutableList.h:110

const T& getHead() const

Description

getHead - Returns the head of the list.

Declared at: llvm/include/llvm/ADT/ImmutableList.h:133

const ImmutableListImpl<T>* getInternalPointer()
    const

Declared at: llvm/include/llvm/ADT/ImmutableList.h:82

ImmutableList<T> getTail() const

Description

getTail - Returns the tail of the list, which is another (possibly empty) ImmutableList.

Declared at: llvm/include/llvm/ADT/ImmutableList.h:140

bool isEmpty() const

Description

isEmpty - Returns true if the list is empty.

Declared at: llvm/include/llvm/ADT/ImmutableList.h:113

bool isEqual(const ImmutableList<T>& L) const

Description

isEqual - Returns true if two lists are equal. Because all lists created from the same ImmutableListFactory are uniqued, this has O(1) complexity because it the contents of the list do not need to be compared. Note that you should only compare two lists created from the same ImmutableListFactory.

Declared at: llvm/include/llvm/ADT/ImmutableList.h:128

Parameters

const ImmutableList<T>& L