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. | |
![]() | |
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 | |
![]() | |
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.