bug-gnulib
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: HAMT iterator


From: Bruno Haible
Subject: Re: HAMT iterator
Date: Sun, 11 Oct 2020 14:04:17 +0200
User-agent: KMail/5.1.3 (Linux/4.4.0-189-generic; KDE/5.18.0; x86_64; ; )

Marc Nieper-Wißkirchen wrote:
> > > /* Return an independent copy of ITER that is initially in the same
> > >    state.  */
> > > extern Hamt_iterator *hamt_iterator_copy (Hamt_iterator *iter);
> >
> > Then a copy function is not needed, because the user's program can do
> >
> >   Hamt_iterator iter_clone = iter;
> 
> The hamt itself has to be copied (to increase the reference counter).

Then the comment should clarify what "independent" means. I thought it
means that both iterators (the original one and the copy) can be used
simultaneously, as long as the HAMT does not change. Do you mean
something broader?
  - If someone creates a derivative of the HAMT, the iterator won't
    be affected, right? ("persistence")
  - If someone makes destructive modifications to the HAMT (through the
    *_x functions), the iterator will be affected if it has not yet
    passed the point of modification, right?
So, what is the scenario where increasing the reference count will make
a difference?

Bruno




reply via email to

[Prev in Thread] Current Thread [Next in Thread]