Lines Matching refs:ImmutableList
63 class ImmutableList {
75 ImmutableList(const ImmutableListImpl<T>* x = nullptr) : X(x) {} in X()
85 iterator(ImmutableList l) : L(l.getInternalPointer()) {} in iterator()
91 ImmutableList getList() const { return L; } in getList()
118 bool isEqual(const ImmutableList& L) const { return X == L.X; } in isEqual()
120 bool operator==(const ImmutableList& L) const { return isEqual(L); }
130 ImmutableList getTail() { in getTail()
166 ImmutableList<T> concat(const T& Head, ImmutableList<T> Tail) { in concat()
188 ImmutableList<T> add(const T& D, ImmutableList<T> L) { in add()
192 ImmutableList<T> getEmptyList() const { in getEmptyList()
193 return ImmutableList<T>(nullptr); in getEmptyList()
196 ImmutableList<T> create(const T& X) { in create()
206 template<typename T> struct DenseMapInfo<ImmutableList<T> > {
207 static inline ImmutableList<T> getEmptyKey() {
210 static inline ImmutableList<T> getTombstoneKey() {
213 static unsigned getHashValue(ImmutableList<T> X) {
218 static bool isEqual(ImmutableList<T> X1, ImmutableList<T> X2) {
225 struct isPodLike<ImmutableList<T> > { static const bool value = true; };