RE: [boost] Interesting Boost Implementation Details?

-----Original Message----- On Behalf Of David Abrahams
I'll be giving two talks at SD West in March, one about template metaprogramming, and another called "Inside the Boost Libraries," where I plan to discuss some of the more interesting Boost internals. You can see a synopsis at http://www.cmpevents.com/SDw5/a.asp?option=G&V=3&id=271893
I'm trying to decide exactly what to cover there. I've listed some of my ideas below, but I'm obviously not familiar with the entire Boost codebase, so I thought I'd solicit suggestions. Thoughts, anyone?
My ideas:
* Discuss the design of shared_ptr/weak_ptr. While not exactly an implementation technique, the design is fiendishly clever and worth exploring.
* The use of template-generated polymorphism in Boost.Function to combat virtual function bloat
* The way that Boost.MPL uses partial specialization on template template parameters to peel apart lambda expressions and turn them into metafunction classes.
* Something Boost.Python does to avoid doing dynamic lookup of argument converters based on parameter types for each wrapped call.
* Something Boost.Python does to dynamically build a chain of exception handlers.
* ... your ideas here ... :)
[Brian Braatz] I am biased because I am going to be attending both of those :) My thoughts are also biased because, currently, boost.lambda has been the focus of my attention recently. (it is also currently my "favorite boost library of the month") Suggestion: Take Lambda and tear it apart and show how it works. This might be a good subject matter to keep a consistent topic as a foundation for covering techniques. The other thing you could do, is borrow the structure of your book, and use the same structure for the lecture. This way the attendees could then get your book, and have a consistency from the lecture to the book.

Brian Braatz wrote:
[Brian Braatz] I am biased because I am going to be attending both of those :)
My thoughts are also biased because, currently, boost.lambda has been the focus of my attention recently. (it is also currently my "favorite boost library of the month")
Suggestion: Take Lambda and tear it apart and show how it works. This might be a good subject matter to keep a consistent topic as a foundation for covering techniques.
The biggest problem with that is that Boost.Lambda's implementation is in large part obsoleted by the new stuff Joel de Guzman and friends are doing with Phoenix-2. It is supposed to form the basis of a Boost.Lambda rewrite. I don't know the details of what's there, but I imagine a good bit of Boost.Lambda is old technology for which better solutions exist today.
The other thing you could do, is borrow the structure of your book, and use the same structure for the lecture. This way the attendees could then get your book, and have a consistency from the lecture to the book.
That's fine for the other talk (the one on metaprogramming), but the book isn't about "inside the Boost libraries." -- Dave Abrahams Boost Consulting http://www.boost-consulting.com
participants (2)
-
Brian Braatz
-
David Abrahams