Alexandria 2.31.4
SDC-CH common library for the Euclid project
Loading...
Searching...
No Matches
Pyston::ExpressionTree< R(const std::vector< T > &)> Class Template Reference

#include <ExpressionTree.h>

Inheritance diagram for Pyston::ExpressionTree< R(const std::vector< T > &)>:
Collaboration diagram for Pyston::ExpressionTree< R(const std::vector< T > &)>:

Public Member Functions

operator() (const Context &context, const std::vector< T > &args) const
 
operator() (const std::vector< T > &args) const
 
- Public Member Functions inherited from Pyston::ExpressionTreeBase< R >
bool isCompiled () const
 
const Exceptionreason () const
 
const std::shared_ptr< Node< R > > & getTree () const
 

Private Member Functions

 ExpressionTree (bool compiled, const std::shared_ptr< Node< R > > &root, const std::shared_ptr< Exception > &reason_)
 

Friends

class ExpressionTreeBuilder
 

Additional Inherited Members

- Protected Member Functions inherited from Pyston::ExpressionTreeBase< R >
 ExpressionTreeBase (bool compiled, const std::shared_ptr< Node< R > > &root, const std::shared_ptr< Exception > &reason_)
 
- Protected Attributes inherited from Pyston::ExpressionTreeBase< R >
bool m_is_compiled
 
std::shared_ptr< Node< R > > m_root
 
std::shared_ptr< Exceptionm_reason
 

Detailed Description

template<typename R, typename T>
class Pyston::ExpressionTree< R(const std::vector< T > &)>

Wraps a call to an expression tree. Specialized for parameters as a vector of values

Template Parameters
RReturn type
TArgument type

Definition at line 79 of file ExpressionTree.h.

Constructor & Destructor Documentation

◆ ExpressionTree()

template<typename R, typename T>
Pyston::ExpressionTree< R(const std::vector< T > &)>::ExpressionTree ( bool compiled,
const std::shared_ptr< Node< R > > & root,
const std::shared_ptr< Exception > & reason_ )
inlineprivate

Definition at line 106 of file ExpressionTree.h.

References Pyston::ExpressionTreeBase< R >::ExpressionTreeBase().

Here is the call graph for this function:

Member Function Documentation

◆ operator()() [1/2]

template<typename R, typename T>
R Pyston::ExpressionTree< R(const std::vector< T > &)>::operator() ( const Context & context,
const std::vector< T > & args ) const
inline

Use the tree as a function

Parameters
argsArgument list

Definition at line 86 of file ExpressionTree.h.

References std::back_inserter(), std::vector< T >::begin(), std::copy(), std::vector< T >::end(), and Pyston::ExpressionTreeBase< R >::m_root.

Here is the call graph for this function:

◆ operator()() [2/2]

template<typename R, typename T>
R Pyston::ExpressionTree< R(const std::vector< T > &)>::operator() ( const std::vector< T > & args) const
inline

Use the tree as a function

Parameters
argsArgument list

Definition at line 97 of file ExpressionTree.h.

References std::back_inserter(), std::vector< T >::begin(), std::copy(), std::vector< T >::end(), and Pyston::ExpressionTreeBase< R >::m_root.

Here is the call graph for this function:

Friends And Related Symbol Documentation

◆ ExpressionTreeBuilder

template<typename R, typename T>
friend class ExpressionTreeBuilder
friend

Definition at line 109 of file ExpressionTree.h.

References ExpressionTreeBuilder.

Referenced by ExpressionTreeBuilder.


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