expression_tree  3.2
 All Classes Files Functions Variables Typedefs Pages
Public Member Functions | List of all members
expression_tree::no_caching< T, ThreadingPolicy >::branch Class Reference

Implementation of a branch class that performs no caching. More...

#include <expression_tree.h>

Inheritance diagram for expression_tree::no_caching< T, ThreadingPolicy >::branch:
Inheritance graph
[legend]
Collaboration diagram for expression_tree::no_caching< T, ThreadingPolicy >::branch:
Collaboration graph
[legend]

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.
 

Detailed Description

template<typename T, class ThreadingPolicy>
class expression_tree::no_caching< T, ThreadingPolicy >::branch

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.


The documentation for this class was generated from the following file: