Implementation of a branch class that performs no caching. More...
#include <expression_tree.h>


Public Member Functions | |
| branch (const typename detail::operation< T >::t &f, const node< T, expression_tree::no_caching, ThreadingPolicy > &l, const node< T, expression_tree::no_caching, ThreadingPolicy > &r) | |
| Default constructor. | |
| branch (const branch &o) | |
| Copy constructor. | |
Public Member Functions inherited from expression_tree::detail::default_branch< T, expression_tree::no_caching, ThreadingPolicy > | |
| default_branch (const typename operation< T >::t &f, const node< T, expression_tree::no_caching, ThreadingPolicy > &l, const node< T, expression_tree::no_caching, ThreadingPolicy > &r) | |
| Constructor. | |
| default_branch (const default_branch< T, expression_tree::no_caching, ThreadingPolicy > &other) | |
| Copy constructor. | |
|
virtual std::unique_ptr < node_impl< T > > | clone () const |
| Clones this object. | |
| virtual bool | constant () const |
| The constness of a branch is determined by the constness of its children. | |
| virtual T | evaluate () const |
| Evaluating a branch applies its operation on its children. | |
|
virtual node< T, expression_tree::no_caching, ThreadingPolicy > & | left () |
| This branch's left child. | |
|
virtual node< T, expression_tree::no_caching, ThreadingPolicy > & | right () |
| This branch's right child. | |
| virtual void | grow () |
Additional Inherited Members | |
Public Attributes inherited from expression_tree::detail::default_branch< T, expression_tree::no_caching, ThreadingPolicy > | |
|
node< T, expression_tree::no_caching, ThreadingPolicy > | l |
| This branch's left child. | |
|
node< T, expression_tree::no_caching, ThreadingPolicy > | r |
| This branch's right child. | |
| operation< T >::t | f |
| Operation to be applied to this node's children. | |
Implementation of a branch class that performs no caching.
This class performs no optimization. A non-caching branch will apply its operation on its children whenever it is evaluated.
1.8.2