1 /* { dg-do compile } */
6 enum { kMaxDepth = 32 };
10 Link& operator=(const Link& aLink) {
11 mParent = aLink.mParent;
12 mChildIndex = aLink.mChildIndex;
18 Link mLink[kMaxDepth];
20 iterator() : mTop(-1), mRowIndex(-1) { }
21 iterator& operator=(const iterator& aIterator);
23 Subtree* EnsureSubtreeFor(Subtree* aParent, PRInt32 aChildIndex);
24 Subtree* GetSubtreeFor(const Subtree* aParent,
25 PRInt32 aChildIndex, PRInt32* aSubtreeSize = 0);
26 void InvalidateCachedRow() {
27 mLastRow = iterator();
31 nsTreeRows::Subtree* nsTreeRows::EnsureSubtreeFor(Subtree* aParent,
32 PRInt32 aChildIndex) {
33 Subtree* subtree = GetSubtreeFor(aParent, aChildIndex);
35 InvalidateCachedRow();
38 nsTreeRows::iterator& nsTreeRows::iterator::operator=(const iterator&
40 mTop = aIterator.mTop;
41 for (PRInt32 i = mTop;
43 --i) mLink[i] = aIterator.mLink[i];