To make some upcoming error indicator features easier to add, I'm
going to change ErrorEstimator::estimate_error() (and its subclasses'
functions) to take an ErrorVector& instead of a std::vector<float>&.
I think this is unlikely to break user code, because our
MeshRefinement functions all accept ErrorVector input, so users are
almost certain to be running their indicators on an ErrorVector in the
Any users who have written their own ErrorEstimator subclasses will
have to change their own estimate_error() definition, and normally
breaking an API like that would bug me, but in this case I think any
inconvenienced users will just see the change as gentle encouragement
to contribute their Estimator classes back to us. ;-)
Nevertheless, if anyone has any big objections let me know; before
looking through the code I'd been planning to write some wrapper
functions to maintain full backwards compatibility, and I could still
do that if it's worth the effort.