$include_dir="/home/hyper-archives/boost/include"; include("$include_dir/msg-header.inc") ?>
From: Reid Sweatman (reids_at_[hidden])
Date: 1999-08-16 12:46:43
> I think that this would be the pattern for all methods that 
> return iterators:
> call the method on the underlying data structure, and delete 
> and redispatch
> if non-existing. At least for containers with stable iterators.
> 
> Sure would be nice if there were some way to say this once 
> and for all, as opposed
> to having to replicate the code for it everywhere.
> 
> 
> Hmmm.... that tickled a neuron.  Sure enough, Stroustrup's 
> D&EofC++ says that
> his original C with Classes had call and return methods where 
> such hooks could be
> applied, and on page 268 he talks about how such method 
> combination can be
> acheived manually - unfortunately, requiring code replication.
> 
> So, since the feature is *not* in C++, maybe the right thing 
> to do is to have an external
> program write the code for me.
Well, PERL makes a hell of a C++ preprocessor <g>.  However, you could also
get away without having to hook all access methods by treating them the way,
say, the vector template treats the [ ] operator; if there's a valid object
there, it accesses it, else, it inserts one.  Except in your case, it would
*delete* the nulled one it found.  I suspect, though that this wouldn't
fulfill the things you really want to do with this class.