
On 04/03/11 12:09, Christopher Jefferson wrote:
On 4 Mar 2011, at 09:49, Joel Falcou wrote:
- use expression template to handle efficient combination of operations and potentially detect optimisable pattern. Proto is a shoe-in for this.
Are you sure that the gains from proto would outweigh the losses?
I just tried taking an example from the proto directory and added an invalid '+ 2.0' on the end of it. The resulting error message was 29k.
The same error from xint was much shorter and understandable.
Proto examples are -wait for it- examples. Proper proto based code (and by proper I mean usable in the real world) have grammar check that output a terse static assert in such cases. I'll redirect you to Eric Niebler talk at last year Boost'con, to his C++-next article on the subject and to the end of my own Boost'con talk where we show how we handled it in our pro based libraries. Huge error message coming from a library built with template should be considered bug and ought to be fixed. Short story, if done properly, yes it will outweight the losses.