exprtk::details::T0oT1oT2oT3_sf4< T, T0, T1, T2, T3 > Class Template Reference

#include <exprtk.hpp>

Inheritance diagram for exprtk::details::T0oT1oT2oT3_sf4< T, T0, T1, T2, T3 >:
Inheritance graph

Public Types

typedef details::functor_t< T > functor_t
 
typedef functor_t::qfunc_t qfunc_t
 
typedef T value_type
 
typedef T0oT1oT2oT3_sf4< T, T0, T1, T2, T3node_type
 
typedef expression_node< T > * expression_ptr
 
typedef node_collector_interface< expression_node< T > > nci_t
 
typedef nci_t::noderef_list_t noderef_list_t
 
typedef node_depth_base< expression_node< T > > ndb_t
 
typedef expression_node< T > * node_ptr_t
 
typedef expression_node< T > ** node_pp_t
 

Public Member Functions

 T0oT1oT2oT3_sf4 (T0 p0, T1 p1, T2 p2, T3 p3, const qfunc_t p4)
 
expression_node< T >::node_type type () const
 
operator_type operation () const
 
value () const
 
T0 t0 () const
 
T1 t1 () const
 
T2 t2 () const
 
T3 t3 () const
 
qfunc_t f () const
 
std::string type_id () const
 
virtual expression_node< T > * branch (const std::size_t &index=0) const
 
virtual void collect_nodes (noderef_list_t &)
 
virtual std::size_t node_depth () const
 
std::size_t compute_node_depth (const expression_node< T > *const &node) const
 
std::size_t compute_node_depth (const std::pair< expression_node< T > *, bool > &branch) const
 
std::size_t compute_node_depth (const std::pair< expression_node< T > *, bool >(&branch)[N]) const
 
std::size_t compute_node_depth (const BranchType &n0, const BranchType &n1) const
 
std::size_t compute_node_depth (const BranchType &n0, const BranchType &n1, const BranchType &n2) const
 
std::size_t compute_node_depth (const BranchType &n0, const BranchType &n1, const BranchType &n2, const BranchType &n3) const
 
std::size_t compute_node_depth (const Sequence< expression_node< T > *, Allocator > &branch_list) const
 
std::size_t compute_node_depth (const Sequence< std::pair< expression_node< T > *, bool >, Allocator > &branch_list) const
 
void collect (expression_node< T > *const &node, const bool deletable, NodeSequence &delete_node_list) const
 
void collect (const std::pair< expression_node< T > *, bool > &branch, NodeSequence &delete_node_list) const
 
void collect (expression_node< T > *&node, NodeSequence &delete_node_list) const
 
void collect (const std::pair< expression_node< T > *, bool >(&branch)[N], NodeSequence &delete_node_list) const
 
void collect (const Sequence< std::pair< expression_node< T > *, bool >, Allocator > &branch, NodeSequence &delete_node_list) const
 
void collect (const Sequence< expression_node< T > *, Allocator > &branch_list, NodeSequence &delete_node_list) const
 
void collect (const Sequence< expression_node< T > *, AllocatorT > &branch_list, const Sequence< Boolean, AllocatorB > &branch_deletable_list, NodeSequence &delete_node_list) const
 

Static Public Member Functions

static std::string id ()
 
template<typename Allocator >
static expression_node< T > * allocate (Allocator &allocator, T0 p0, T1 p1, T2 p2, T3 p3, qfunc_t p4)
 

Public Attributes

bool depth_set
 
std::size_t depth
 

Member Typedef Documentation

◆ expression_ptr

template<typename T >
typedef expression_node<T>* exprtk::details::expression_node< T >::expression_ptr
inherited

◆ functor_t

template<typename T , typename T0 , typename T1 , typename T2 , typename T3 >
typedef details::functor_t<T> exprtk::details::T0oT1oT2oT3_sf4< T, T0, T1, T2, T3 >::functor_t

◆ nci_t

template<typename T >
typedef node_collector_interface<expression_node<T> > exprtk::details::expression_node< T >::nci_t
inherited

◆ ndb_t

template<typename T >
typedef node_depth_base<expression_node<T> > exprtk::details::expression_node< T >::ndb_t
inherited

◆ node_pp_t

typedef expression_node< T > ** exprtk::details::node_collector_interface< expression_node< T > >::node_pp_t
inherited

◆ node_ptr_t

typedef expression_node< T > * exprtk::details::node_collector_interface< expression_node< T > >::node_ptr_t
inherited

◆ node_type

template<typename T , typename T0 , typename T1 , typename T2 , typename T3 >
typedef T0oT1oT2oT3_sf4<T,T0,T1,T2,T3> exprtk::details::T0oT1oT2oT3_sf4< T, T0, T1, T2, T3 >::node_type

◆ noderef_list_t

template<typename T >
typedef nci_t::noderef_list_t exprtk::details::expression_node< T >::noderef_list_t
inherited

◆ qfunc_t

template<typename T , typename T0 , typename T1 , typename T2 , typename T3 >
typedef functor_t::qfunc_t exprtk::details::T0oT1oT2oT3_sf4< T, T0, T1, T2, T3 >::qfunc_t

◆ value_type

template<typename T , typename T0 , typename T1 , typename T2 , typename T3 >
typedef T exprtk::details::T0oT1oT2oT3_sf4< T, T0, T1, T2, T3 >::value_type

Constructor & Destructor Documentation

◆ T0oT1oT2oT3_sf4()

template<typename T , typename T0 , typename T1 , typename T2 , typename T3 >
exprtk::details::T0oT1oT2oT3_sf4< T, T0, T1, T2, T3 >::T0oT1oT2oT3_sf4 ( T0  p0,
T1  p1,
T2  p2,
T3  p3,
const qfunc_t  p4 
)
inline

Member Function Documentation

◆ allocate()

template<typename T , typename T0 , typename T1 , typename T2 , typename T3 >
template<typename Allocator >
static expression_node< T > * exprtk::details::T0oT1oT2oT3_sf4< T, T0, T1, T2, T3 >::allocate ( Allocator &  allocator,
T0  p0,
T1  p1,
T2  p2,
T3  p3,
qfunc_t  p4 
)
inlinestatic

◆ branch()

◆ collect() [1/7]

void exprtk::details::node_depth_base< expression_node< T > >::collect ( const Sequence< expression_node< T > *, Allocator > &  branch_list,
NodeSequence &  delete_node_list 
) const
inlineinherited

◆ collect() [2/7]

void exprtk::details::node_depth_base< expression_node< T > >::collect ( const Sequence< expression_node< T > *, AllocatorT > &  branch_list,
const Sequence< Boolean, AllocatorB > &  branch_deletable_list,
NodeSequence &  delete_node_list 
) const
inlineinherited

◆ collect() [3/7]

void exprtk::details::node_depth_base< expression_node< T > >::collect ( const Sequence< std::pair< expression_node< T > *, bool >, Allocator > &  branch,
NodeSequence &  delete_node_list 
) const
inlineinherited

◆ collect() [4/7]

void exprtk::details::node_depth_base< expression_node< T > >::collect ( const std::pair< expression_node< T > *, bool > &  branch,
NodeSequence &  delete_node_list 
) const
inlineinherited

◆ collect() [5/7]

void exprtk::details::node_depth_base< expression_node< T > >::collect ( const std::pair< expression_node< T > *, bool >(&)  branch[N],
NodeSequence &  delete_node_list 
) const
inlineinherited

◆ collect() [6/7]

void exprtk::details::node_depth_base< expression_node< T > >::collect ( expression_node< T > *&  node,
NodeSequence &  delete_node_list 
) const
inlineinherited

◆ collect() [7/7]

void exprtk::details::node_depth_base< expression_node< T > >::collect ( expression_node< T > *const &  node,
const bool  deletable,
NodeSequence &  delete_node_list 
) const
inlineinherited

◆ collect_nodes()

virtual void exprtk::details::node_collector_interface< expression_node< T > >::collect_nodes ( noderef_list_t )
inlinevirtualinherited

◆ compute_node_depth() [1/8]

std::size_t exprtk::details::node_depth_base< expression_node< T > >::compute_node_depth ( const BranchType &  n0,
const BranchType &  n1 
) const
inlineinherited

◆ compute_node_depth() [2/8]

std::size_t exprtk::details::node_depth_base< expression_node< T > >::compute_node_depth ( const BranchType &  n0,
const BranchType &  n1,
const BranchType &  n2 
) const
inlineinherited

◆ compute_node_depth() [3/8]

std::size_t exprtk::details::node_depth_base< expression_node< T > >::compute_node_depth ( const BranchType &  n0,
const BranchType &  n1,
const BranchType &  n2,
const BranchType &  n3 
) const
inlineinherited

◆ compute_node_depth() [4/8]

std::size_t exprtk::details::node_depth_base< expression_node< T > >::compute_node_depth ( const expression_node< T > *const &  node) const
inlineinherited

◆ compute_node_depth() [5/8]

std::size_t exprtk::details::node_depth_base< expression_node< T > >::compute_node_depth ( const Sequence< expression_node< T > *, Allocator > &  branch_list) const
inlineinherited

◆ compute_node_depth() [6/8]

std::size_t exprtk::details::node_depth_base< expression_node< T > >::compute_node_depth ( const Sequence< std::pair< expression_node< T > *, bool >, Allocator > &  branch_list) const
inlineinherited

◆ compute_node_depth() [7/8]

std::size_t exprtk::details::node_depth_base< expression_node< T > >::compute_node_depth ( const std::pair< expression_node< T > *, bool > &  branch) const
inlineinherited

◆ compute_node_depth() [8/8]

std::size_t exprtk::details::node_depth_base< expression_node< T > >::compute_node_depth ( const std::pair< expression_node< T > *, bool >(&)  branch[N]) const
inlineinherited

◆ f()

template<typename T , typename T0 , typename T1 , typename T2 , typename T3 >
qfunc_t exprtk::details::T0oT1oT2oT3_sf4< T, T0, T1, T2, T3 >::f ( ) const
inline

◆ id()

template<typename T , typename T0 , typename T1 , typename T2 , typename T3 >
static std::string exprtk::details::T0oT1oT2oT3_sf4< T, T0, T1, T2, T3 >::id ( )
inlinestatic

◆ node_depth()

virtual std::size_t exprtk::details::node_depth_base< expression_node< T > >::node_depth ( ) const
inlinevirtualinherited

Reimplemented in exprtk::details::null_eq_node< T >, exprtk::details::unary_node< T >, exprtk::details::binary_node< T >, exprtk::details::binary_ext_node< T, Operation >, exprtk::details::trinary_node< T >, exprtk::details::quaternary_node< T >, exprtk::details::conditional_node< T >, exprtk::details::cons_conditional_node< T >, exprtk::details::break_node< T >, exprtk::details::while_loop_node< T >, exprtk::details::repeat_until_loop_node< T >, exprtk::details::for_loop_node< T >, exprtk::details::while_loop_bc_node< T >, exprtk::details::repeat_until_loop_bc_node< T >, exprtk::details::for_loop_bc_node< T >, exprtk::details::switch_node< T >, exprtk::details::multi_switch_node< T >, exprtk::details::vector_elem_node< T >, exprtk::details::rebasevector_elem_node< T >, exprtk::details::vector_assignment_node< T >, exprtk::details::generic_string_range_node< T >, exprtk::details::string_size_node< T >, exprtk::details::str_vararg_node< T, VarArgFunction >, exprtk::details::vararg_node< T, VarArgFunction >, exprtk::details::vectorize_node< T, VecFunction >, exprtk::details::function_N_node< T, IFunction, N >, exprtk::details::vararg_function_node< T, VarArgFunction >, exprtk::details::generic_function_node< T, GenericFunction >, exprtk::details::generic_function_node< T, null_igenfunc< T > >, exprtk::details::generic_function_node< T, StringFunction >, exprtk::details::return_envelope_node< T >, exprtk::details::unary_branch_node< T, Operation >, exprtk::details::vob_node< T, Operation >, exprtk::details::bov_node< T, Operation >, exprtk::details::cob_node< T, Operation >, exprtk::details::boc_node< T, Operation >, exprtk::details::bipow_node< T, PowOp >, and exprtk::details::bipowninv_node< T, PowOp >.

◆ operation()

template<typename T , typename T0 , typename T1 , typename T2 , typename T3 >
operator_type exprtk::details::T0oT1oT2oT3_sf4< T, T0, T1, T2, T3 >::operation ( ) const
inline

◆ t0()

template<typename T , typename T0 , typename T1 , typename T2 , typename T3 >
T0 exprtk::details::T0oT1oT2oT3_sf4< T, T0, T1, T2, T3 >::t0 ( ) const
inline

◆ t1()

template<typename T , typename T0 , typename T1 , typename T2 , typename T3 >
T1 exprtk::details::T0oT1oT2oT3_sf4< T, T0, T1, T2, T3 >::t1 ( ) const
inline

◆ t2()

template<typename T , typename T0 , typename T1 , typename T2 , typename T3 >
T2 exprtk::details::T0oT1oT2oT3_sf4< T, T0, T1, T2, T3 >::t2 ( ) const
inline

◆ t3()

template<typename T , typename T0 , typename T1 , typename T2 , typename T3 >
T3 exprtk::details::T0oT1oT2oT3_sf4< T, T0, T1, T2, T3 >::t3 ( ) const
inline

◆ type()

template<typename T , typename T0 , typename T1 , typename T2 , typename T3 >
expression_node< T >::node_type exprtk::details::T0oT1oT2oT3_sf4< T, T0, T1, T2, T3 >::type ( ) const
inlinevirtual

◆ type_id()

template<typename T , typename T0 , typename T1 , typename T2 , typename T3 >
std::string exprtk::details::T0oT1oT2oT3_sf4< T, T0, T1, T2, T3 >::type_id ( ) const
inlinevirtual

◆ value()

template<typename T , typename T0 , typename T1 , typename T2 , typename T3 >
T exprtk::details::T0oT1oT2oT3_sf4< T, T0, T1, T2, T3 >::value ( ) const
inlinevirtual

Member Data Documentation

◆ depth

std::size_t exprtk::details::node_depth_base< expression_node< T > >::depth
mutableinherited

◆ depth_set

bool exprtk::details::node_depth_base< expression_node< T > >::depth_set
mutableinherited

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