Initial version.
Added U* template specialization to leaf.
Quick update to documentation and sample code.
Added pre-evaluation optimization.
Updated documentation and examples.
Re-arranged classes. expression_tree now derives from node. First step towards assignment of trees to nodes.
Changed node and branch specialized implementations of class<T, false> to class<T, P>.
This un-confuses Doxygen about which class does expression_tree derives from and, from the code's POV should make no difference.
(It's just a bit weird to have a specialization on a bool, but it just means class<T, P> is really class<T, false>.)
Added node assigment constructor. Allows assignment to a node of a sub-tree (even from the same tree).
Updated examples, need to update documentation.
Removed branch<T, true>::p member so that node<T, true> doesn't have to friend it.
Updated documentation.
Added a little Table of Contents to the documentation.
Added: caching-on-evaluation optimization. Updated dcoumentation and example code.
Added: a far-fetched potential improvment.
Typofix.
Modified: documentation, clarification and cosmetic fixes.
Modified: documentation, clarification and cosmetic fixes.
Major modifications to implementation.
Relatively minor changes to API (nothing an easy search-and-replace can't handle).

Most importantly, now uses policy-based design to specify which optimization scheme to use.
Introduction of expression_tree namespace and renaming of expression_tree to tree.
Node class now outside of detail namespace.

Example code and documentation adjusted.
Added doxyfile and VC10 solution and projects file. Might as well.
Minor fixes to the documentation.
Made the example code compile on g++ by replacing the lambda with a functor.
Tested with g++ 4.5.0.
Cosmetic modifications to documentation.
Added solution for Visual Studio 2008.
Better introduction that quickly covers how to use expression_tree::tree.
Renamed vc8 folder to vc9 as that is the compiler version of VS2008.
In the future, I might want to stick with MS's IDE names rather than their compiler's.

--HG--
rename : vc8/expression_tree.sln => vc9/expression_tree.sln
rename : vc8/expression_tree.vcproj => vc9/expression_tree.vcproj
Modified: target documentation folder and assumption of presence of Graphiz's dot tool.
Implementation of evaluation policies. One default one that evaluates as before
in a linear post-order fashion and another one that evaluates the tree in
parallel using std::async (provided for the time being by the JustThread
library).