If the constructor also would accept a row I could use it as a parameter type for function calls when I want to express, that only 'data' types are expected and 'expressions' are not wanted. (Sorry for the sloppy formulation, I am not sure how to express this more concise.)
I hope, we'll be able to solve this, too.
I am not sure about your last statement. Do you mean a kind of 'vector_proxy' that can act as a placeholder to a row/column or another vector?
No, I basically meant, I hope that you'll find appropriate signatures for your functions. I still believe you'll either have to use 'expressions' or have to enumerate all overloads for your 'data' types (and that could be many ;-).
So in a certain sense I can see the 'expression' that is stored in my functor as a 'reference' to my container data? I.e when the data of the container changes the evaluation of the expression will retrieve the current data? Sorry for my slow uptake on the matter. I think this comes from the fact that I still do not have a sound idea of what an 'expression' is to me from a point of usage. Can I see it as a bundle of funtions having certain parameter lists? What 'really' happens when I "e() (i,j)" ? Regards, Roland