Before I dive into this caching stuff I'd like to finish the preview clean-up 
that started it off.

The code below iterates over only "top level" insets that are owned directly 
by the Buffer.

void Previews::generateBufferPreviews(Buffer const & buffer) const
{
        PreviewLoader & ploader = loader(&buffer);

        Buffer::inset_iterator it  = buffer.inset_const_iterator_begin();
        Buffer::inset_iterator end = buffer.inset_const_iterator_end();

        for (; it != end; ++it) {
                (*it)->addPreview(ploader);
        }

        ploader.startLoading();
}

How should I loop over all insets? Do I:

1. Loop from outside
        for (; it != end; ++it) {
                (*it)->addPreview(ploader);
                // add some sub-loop
        }

2. Overload addPreview in container insets (text, tabular, collapsable any 
more?)

Regards,
Angus

Incidentally, what's the preferred STL algorithm for
        for (; it != end; ++it) {
                (*it)->addPreview(ploader);
        }
?

Reply via email to