Lines Matching refs:Root

660   inline ImutAVLTreeGenericIterator(const TreeTy* Root) {
661 if (Root) stack.push_back(reinterpret_cast<uintptr_t>(Root));
765 ImutAVLTreeInOrderIterator(const TreeTy* Root) : InternalItr(Root) {
766 if (Root) operator++(); // Advance to first element.
945 TreeTy *Root;
952 explicit ImmutableSet(TreeTy* R) : Root(R) {
953 if (Root) { Root->retain(); }
955 ImmutableSet(const ImmutableSet &X) : Root(X.Root) {
956 if (Root) { Root->retain(); }
959 if (Root != X.Root) {
960 if (X.Root) { X.Root->retain(); }
961 if (Root) { Root->release(); }
962 Root = X.Root;
967 if (Root) { Root->release(); }
994 TreeTy *NewT = F.add(Old.Root, V);
1006 TreeTy *NewT = F.remove(Old.Root, V);
1025 return Root ? Root->contains(V) : false;
1029 return Root && RHS.Root ? Root->isEqual(*RHS.Root) : Root == RHS.Root;
1033 return Root && RHS.Root ? Root->isNotEqual(*RHS.Root) : Root != RHS.Root;
1037 if (Root) { Root->retain(); }
1038 return Root;
1042 return Root;
1046 bool isEmpty() const { return !Root; }
1053 void foreach(Callback& C) { if (Root) Root->foreach(C); }
1056 void foreach() { if (Root) { Callback C; Root->foreach(C); } }
1088 iterator begin() const { return iterator(Root); }
1095 unsigned getHeight() const { return Root ? Root->getHeight() : 0; }
1098 ID.AddPointer(S.Root);
1109 void validateTree() const { if (Root) Root->validateTree(); }
1122 TreeTy *Root;
1131 : Root(R),
1133 if (Root) { Root->retain(); }
1136 : Root(X.Root),
1138 if (Root) { Root->retain(); }
1141 if (Root != X.Root) {
1142 if (X.Root) { X.Root->retain(); }
1143 if (Root) { Root->release(); }
1144 Root = X.Root;
1150 if (Root) { Root->release(); }
1158 return ImmutableSetRef(Factory->add(Root, V), Factory);
1162 return ImmutableSetRef(Factory->remove(Root, V), Factory);
1167 return Root ? Root->contains(V) : false;
1172 Factory->getCanonicalTree(Root) : Root);
1176 return Root;
1180 return Root && RHS.Root ? Root->isEqual(*RHS.Root) : Root == RHS.Root;
1184 return Root && RHS.Root ? Root->isNotEqual(*RHS.Root) : Root != RHS.Root;
1188 bool isEmpty() const { return !Root; }
1214 iterator begin() const { return iterator(Root); }
1221 unsigned getHeight() const { return Root ? Root->getHeight() : 0; }
1224 ID.AddPointer(S.Root);
1235 void validateTree() const { if (Root) Root->validateTree(); }