Implements an expression tree. More...
#include <expression_tree.h>
Public Member Functions | |
node< T, CachingPolicy, ThreadingPolicy > & | root () |
This tree's root node. | |
![]() | |
node (node< T, CachingPolicy, ThreadingPolicy > *parent=0) | |
Default constructor. | |
node (const node< T, CachingPolicy, ThreadingPolicy > &other) | |
Copy constructor. | |
node< T, CachingPolicy, ThreadingPolicy > & | operator= (const node< T, CachingPolicy, ThreadingPolicy > &other) |
Assignment operator. | |
node< T, CachingPolicy, ThreadingPolicy > & | operator= (const T &t) |
Assign a value to this node. | |
node< T, CachingPolicy, ThreadingPolicy > & | operator= (const T *t) |
Assign a pointer to this node. | |
node< T, CachingPolicy, ThreadingPolicy > & | operator= (const typename detail::operation< T >::t &f) |
Assign an operation to this node. | |
node< T, CachingPolicy, ThreadingPolicy > & | left () |
This node's left child. | |
node< T, CachingPolicy, ThreadingPolicy > & | right () |
This node's right child. | |
bool | constant () const |
Constness of this node. | |
T | evaluate () const |
Evaluates the value of this node. | |
void | grow () |
Called when this node is assigned to. | |
Implements an expression tree.
T | The data type. |
CachingPolicy | Caching optimization policy to use. Choices are:
|
ThreadingPolicy | Threading policy to use when evaluating a branch's children. Choices are:
|