Metaprogramming techniques are discussed pretty thoroughly in Andrei Alexandescru's "Modern C++ Design" and in Czarnecki and Eisenecker's "Generative Programming".
--Randy
-----Original Message-----
From: Jeff Faust [mailto:jeff@opticalres.com]
Sent: Wednesday, October 02, 2002 12:37 PM
To: Boost-Users@yahoogroups.com
Subject: RE: [Boost-Users] MPL?
Well, I didn't know I needed boost until I saw it. Same for STL several
years back. 'Metaprogramming' comes up a lot on the boost list, but I have
no understanding about what it's for--what problems it solves. The
documentation is sparse. Then this thread comes up and everybody talks
about it like it's obvious. I dislike being baffled.
But mostly it's curiosity. I need something to talk about at parties and
impress the ladies. MPL will do that, right? Right? Hello?
Jeff
-----Original Message-----
From: David B. Held [mailto:dheld@codelogicconsulting.com]
Sent: Wednesday, October 02, 2002 12:14 PM
To: Boost-Users@yahoogroups.com
Subject: Re: [Boost-Users] MPL?
----- Original Message -----
From: "Jeff Faust"
[...] Can anybody explain in English what the following does?
I believe that Aleksey posted the runtime pseudo-equivalent.
Posted by David Abrahams on boost developers list:
Have I mentioned recently how totally cool MPL's lambda facility is? I can't believe I can do things like this, even with MSVC6. It makes my metaprograms SO much easier to manage! mpl::logical_and< is_reference_to_class
mpl::_ > , mpl::logical_not< is_reference_to_args mpl::_ >
[Aleksey, on 9/27] // "ideal" version, for comparison purposes: // is_reference_to_class( add_reference(_) ) // && !is_reference_to_args( add_reference(_) ) I can't say for sure what the code does myself, but if I could venture a guess, I would say that it's a condition for something else (maybe an iterative algorithm over a type container?) that checks to see if an argument is a reference type of various sorts. Basically, if you don't understand it, in this case, you probably don't need it. ;) I know I don't! Dave Info: < http://www.boost.org> Wiki: < http://www.crystalclearsoftware.com/cgi-bin/boost_wiki/wiki.pl> Unsubscribe: mailto:boost-users-unsubscribe@yahoogroups.com Your use of Yahoo! Groups is subject to http://docs.yahoo.com/info/terms/ Yahoo! Groups Sponsor ADVERTISEMENT http://rd.yahoo.com/M=233351.2428261.3848243.2225242/D=egroupweb/S=170500678... http://us.adserver.yahoo.com/l?M=233351.2428261.3848243.2225242/D=egroupmail... Info: < http://www.boost.org> Wiki: < http://www.crystalclearsoftware.com/cgi-bin/boost_wiki/wiki.pl> Unsubscribe: mailto:boost-users-unsubscribe@yahoogroups.com Your use of Yahoo! Groups is subject to the Yahoo! Terms of Service http://docs.yahoo.com/info/terms/ . [Non-text portions of this message have been removed]
participants (1)
-
Randy Bowen