
On 03/06/2005 02:53 PM, Pavel Chikulaev wrote:
"Larry Evans" <cppljevans@cox-internet.com> wrote in message news:d0fomr$2v7$1@sea.gmane.org...
I've also very curious about how this was done.
I create operators tree at compile-time of rhs, then I parse it using templates (most challenging) and the evaluate the result.
This "parse it using templates" sound like it might be like the application_parts template in application_parts_test.cpp: http://boost-sandbox.sourceforge.net/vault/index.php?&direction=0&order=&directory=cppljevans/mpl I remember thinking about calling it "parse" also (as I did before for similar problems), but then I was worried people would confuse it with the more conventional meaning of parse. Anyway, application_parts is like mpl::unpack_args in that one of its results is a place_holder expression which, when applied to the other results, gives the original type. With unpack_args, IIUC, the programmer has to explicitly provide the args since, as the name implies, the arguments are "unpacked" leaving just the metafunction.