Hi!

Continuing the grand tradition of using this list as the ultimate back-up
medium, I forward the latest iteration of the new kernel implementation.

Since last time, I have cleaned up a bunch of stuff, and started to implement
the support for keeping iterators updated even across changes of the data
structure.

I have also gotten rid of all(?) C-style casts, and now use static_cast<> or
dynamic_cast<> as appropriate.  The code has internally branched into two
versions:  One that exploits and requires RTTI to provide a more efficient and
clean implementation, and a "compatibility" mode which does not rely on RTTI,
but rather uses a slower and more bloated approach.
The branching is done by #ifdef's and a config.h file.

Next step in the task is to implement a wrapper around vector<> that will
update iterators accordingly.  Then, the job of keeping the iterators
up-to-date will be finished, and after that, the few remaining editing
operations will be implemented (I found that I needed the stable iterators
before I could implement those, so this is changed comparable to last status
report.)
When this point is reached, I will have a rest from coding, and start to
document the stuff.  After that, I will start to design & implement the flowing
of the data structure on to the screen.  When that is done, I will document
that step.
At this point, I hope that the code base is stable and documented enough to
allow other people to easily join the work.  And the remaining part would be to
map from screen coordinates to buffer coordinates, and then to start using the
kernel to build a higher-level layer that handles undo/redo, and other stuff
like that.
After that, we should plug the stuff into the code base, and hopefully have the
new kernel.

Still lots of work to do, but I personally feel that it's worth taking the time
to do this, because the result is a clean and mean, extensible kernel.  And I
feel confident that once the fundation of the new kernel has been layed, work
will progress fast because we are building on state-of-the-art technology
<grin>.

Greets,

Asger

kernel-0.3.tar.gz (WinZip File)

Reply via email to