I have bit the bullet and am attempting to get my head around the MPL library. I realize there is a book out by Messieurs Abrahams and Gurtovoy, I believe, but I thought I would tackle the boost documentation first. A few questions: 1) Is the documentation up to date ? 2) There are three separate documents to study, it seems, all giving information about the MPL library, a white paper circa 2002, a reference, and a mini-tutorial. Is the information in these in sync with each other ? The reason I ask is that the white paper/mini-tutorial mentions if_<> and apply_if<> but the reference does not mention them at all.Are they just understood intrinsic metafunctions that need no reference, or what ? If the former, are there more of these intrinsic metafunctions and, if co, what are they and what do they do ? 3) A number of the topics in the reference documentation mentioned in generalized overviews of the various sections have no specific links. Does this mean that they were never implemented ? Seems dubious in a number of cases. I would seriously like to figure out how MPL works and play around with it, but I feel stymied with what is in the boost docs.
Hello, there!
--- Edward Diener
I have bit the bullet and am attempting to get my head around the MPL library. I realize there is a book out by Messieurs Abrahams and Gurtovoy, I believe, but I thought I would tackle the boost documentation first. A few questions:
1) Is the documentation up to date?
Not yet.
2) There are three separate documents to study, it seems, all giving information about the MPL library, a white paper circa 2002, a reference, and a mini-tutorial. Is the information in these in sync with each other?
The reason I ask is that the white paper/mini-tutorial mentions if_<> and apply_if<> but the reference does not mention them at all. Are
Not yet. The differences between the MPL version described in the white paper and the new one described in the reference are summarized at http://www.mywikinet.com/mpl/mpl_1_32_changelog.html. they
just understood intrinsic metafunctions that need no reference, or what?
The reference itself is not yet finished. The white paper will stand you in good stead wrt these two metafunctions, as long as you replace all instances of apply_if with eval_if, as per the changelog.
3) A number of the topics in the reference documentation mentioned in generalized overviews of the various sections have no specific links. Does this mean that they were never implemented? Seems dubious in a number of cases.
Mostly it's as I said above: unfinished reference docs. However, I'm trying to help out with at least one topic--rational constants--that is not yet implemented.
I would seriously like to figure out how MPL works and play around with it, but I feel stymied with what is in the boost docs.
Yeah, most of the knowledge I've acquired about MPL so far came from studying the headers and playing with the various metafunctions. Right now I'm treating the boost docs as supplemental aids. Let me know how I can help further! Cromwell Enage __________________________________ Do you Yahoo!? Yahoo! Mail Address AutoComplete - You start. We finish. http://promotions.yahoo.com/new_mail
Cromwell Enage wrote:
Hello, there!
--- Edward Diener
wrote: I have bit the bullet and am attempting to get my head around the MPL library. I realize there is a book out by Messieurs Abrahams and Gurtovoy, I believe, but I thought I would tackle the boost documentation first. A few questions:
1) Is the documentation up to date?
Not yet.
2) There are three separate documents to study, it seems, all giving information about the MPL library, a white paper circa 2002, a reference, and a mini-tutorial. Is the information in these in sync with each other?
Not yet. The differences between the MPL version described in the white paper and the new one described in the reference are summarized at http://www.mywikinet.com/mpl/mpl_1_32_changelog.html.
The reason I ask is that the white paper/mini-tutorial mentions if_<> and apply_if<> but the reference does not mention them at all. Are they just understood intrinsic metafunctions that need no reference, or what?
The reference itself is not yet finished. The white paper will stand you in good stead wrt these two metafunctions, as long as you replace all instances of apply_if with eval_if, as per the changelog.
3) A number of the topics in the reference documentation mentioned in generalized overviews of the various sections have no specific links. Does this mean that they were never implemented? Seems dubious in a number of cases.
Mostly it's as I said above: unfinished reference docs. However, I'm trying to help out with at least one topic--rational constants--that is not yet implemented.
I would seriously like to figure out how MPL works and play around with it, but I feel stymied with what is in the boost docs.
Yeah, most of the knowledge I've acquired about MPL so far came from studying the headers and playing with the various metafunctions. Right now I'm treating the boost docs as supplemental aids.
Let me know how I can help further!
Thanks for your offer of help. I am going to wait until Mr. Gurtovoy has finished updating the docs until I tackle learning and using the library. When I do, and post any questions on usage here, if you see them and can help me out with your experience, it will be greatly appreciated.
Edward Diener writes:
I have bit the bullet and am attempting to get my head around the MPL library. I realize there is a book out by Messieurs Abrahams and Gurtovoy, I believe, but I thought I would tackle the boost documentation first. A few questions:
1) Is the documentation up to date ?
Not just at the moment. It will be in a few days.
2) There are three separate documents to study, it seems, all giving information about the MPL library, a white paper circa 2002, a reference, and a mini-tutorial. Is the information in these in sync with each other ?
Again, not yet. See the above.
The reason I ask is that the white paper/mini-tutorial mentions if_<> and apply_if<> but the reference does not mention them at all. Are they just understood intrinsic metafunctions that need no reference, or what ?
The current reference documentation is incomplete. The upcoming one covers everything.
If the former, are there more of these intrinsic metafunctions and, if co, what are they and what do they do ? 3) A number of the topics in the reference documentation mentioned in generalized overviews of the various sections have no specific links. Does this mean that they were never implemented ? Seems dubious in a number of cases.
See the above.
I would seriously like to figure out how MPL works and play around with it, but I feel stymied with what is in the boost docs.
I can't promise the new docs will answer the "how" part (depends on what you mean by that), but they definitely make the library more accessible. So, if you can, just wait a couple of days. -- Aleksey Gurtovoy MetaCommunications Engineering
Aleksey Gurtovoy wrote:
Edward Diener writes:
I have bit the bullet and am attempting to get my head around the MPL library. I realize there is a book out by Messieurs Abrahams and Gurtovoy, I believe, but I thought I would tackle the boost documentation first. A few questions:
1) Is the documentation up to date ?
Not just at the moment. It will be in a few days.
2) There are three separate documents to study, it seems, all giving information about the MPL library, a white paper circa 2002, a reference, and a mini-tutorial. Is the information in these in sync with each other ?
Again, not yet. See the above.
The reason I ask is that the white paper/mini-tutorial mentions if_<> and apply_if<> but the reference does not mention them at all. Are they just understood intrinsic metafunctions that need no reference, or what ?
The current reference documentation is incomplete. The upcoming one covers everything.
If the former, are there more of these intrinsic metafunctions and, if co, what are they and what do they do ? 3) A number of the topics in the reference documentation mentioned in generalized overviews of the various sections have no specific links. Does this mean that they were never implemented ? Seems dubious in a number of cases.
See the above.
I would seriously like to figure out how MPL works and play around with it, but I feel stymied with what is in the boost docs.
I can't promise the new docs will answer the "how" part (depends on what you mean by that), but they definitely make the library more accessible. So, if you can, just wait a couple of days.
Thanks, Mr. Gurtovoy. I will wait and look forward to reading the updated documentation. The library looks like a challenge to learn, but one which I will enjoy using. I would like to ask that when you finish updating the documentation, that you post a notice of it to the Boost NGs.
Edward Diener writes:
Thanks, Mr. Gurtovoy. I will wait and look forward to reading the updated documentation. The library looks like a challenge to learn, but one which I will enjoy using. I would like to ask that when you finish updating the documentation, that you post a notice of it to the Boost NGs.
Edward, You can preview the new MPL docs that will go into 1.32 release at http://www.meta-comm.com/engineering/boost/1_32_0_draft/libs/mpl/doc/index.h.... -- Aleksey Gurtovoy MetaCommunications Engineering
Aleksey Gurtovoy wrote:
Edward Diener writes:
Thanks, Mr. Gurtovoy. I will wait and look forward to reading the updated documentation. The library looks like a challenge to learn, but one which I will enjoy using. I would like to ask that when you finish updating the documentation, that you post a notice of it to the Boost NGs.
Edward,
You can preview the new MPL docs that will go into 1.32 release at
http://www.meta-comm.com/engineering/boost/1_32_0_draft/libs/mpl/doc/index.h.... Thanks, I will do that. I am eagerly looking forward to Boost 1.32 where I will have a good chance of learning MPL and getting deep into template metaprogramming through it.
participants (3)
-
Aleksey Gurtovoy
-
Cromwell Enage
-
Edward Diener