|
LLVM
4.0.0
|
ImmutableList - This class represents an immutable (functional) list. More...
#include <ImmutableList.h>
Classes | |
| class | iterator |
Public Types | |
| typedef T | value_type |
| typedef ImmutableListFactory< T > | Factory |
Public Member Functions | |
| ImmutableList (const ImmutableListImpl< T > *x=nullptr) | |
| const ImmutableListImpl< T > * | getInternalPointer () const |
| iterator | begin () const |
| 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. More... | |
| iterator | end () const |
| end - Returns an iterator denoting the end of the list. More... | |
| bool | isEmpty () const |
| isEmpty - Returns true if the list is empty. More... | |
| bool | contains (const T &V) const |
| bool | isEqual (const ImmutableList &L) const |
| isEqual - Returns true if two lists are equal. More... | |
| bool | operator== (const ImmutableList &L) const |
| const T & | getHead () |
| getHead - Returns the head of the list. More... | |
| ImmutableList | getTail () |
| getTail - Returns the tail of the list, which is another (possibly empty) ImmutableList. More... | |
| void | Profile (FoldingSetNodeID &ID) const |
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.
Definition at line 64 of file ImmutableList.h.
| typedef ImmutableListFactory<T> llvm::ImmutableList< T >::Factory |
Definition at line 67 of file ImmutableList.h.
| typedef T llvm::ImmutableList< T >::value_type |
Definition at line 66 of file ImmutableList.h.
|
inline |
Definition at line 76 of file ImmutableList.h.
|
inline |
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.
Definition at line 99 of file ImmutableList.h.
Referenced by llvm::ImmutableList< T >::contains().
|
inline |
Definition at line 108 of file ImmutableList.h.
References llvm::ImmutableList< T >::begin(), E, llvm::ImmutableList< T >::end(), and I.
|
inline |
end - Returns an iterator denoting the end of the list.
This iterator does not refer to a valid list element.
Definition at line 103 of file ImmutableList.h.
Referenced by llvm::ImmutableList< T >::contains().
|
inline |
getHead - Returns the head of the list.
Definition at line 126 of file ImmutableList.h.
References assert(), and llvm::ImmutableList< T >::isEmpty().
|
inline |
Definition at line 78 of file ImmutableList.h.
Referenced by llvm::ImmutableListFactory< T >::concat(), and llvm::DenseMapInfo< ImmutableList< T > >::getHashValue().
|
inline |
getTail - Returns the tail of the list, which is another (possibly empty) ImmutableList.
Definition at line 133 of file ImmutableList.h.
|
inline |
isEmpty - Returns true if the list is empty.
Definition at line 106 of file ImmutableList.h.
Referenced by llvm::ImmutableList< T >::getHead().
|
inline |
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.
Definition at line 121 of file ImmutableList.h.
Referenced by llvm::ImmutableList< T >::operator==().
|
inline |
Definition at line 123 of file ImmutableList.h.
References llvm::ImmutableList< T >::isEqual().
|
inline |
Definition at line 137 of file ImmutableList.h.
References llvm::FoldingSetNodeID::AddPointer().
1.8.6