C++ Mathematical Expression Toolkit (ExprTk) release
Loading...
Searching...
No Matches
exprtk::details::vararg_add_op< T > Struct Template Reference

#include <exprtk.hpp>

Inheritance diagram for exprtk::details::vararg_add_op< T >:
[legend]
Collaboration diagram for exprtk::details::vararg_add_op< T >:
[legend]

Public Types

typedef opr_base< T >::Type Type
Public Types inherited from exprtk::details::opr_base< T >
typedef details::functor_t< T >::Type Type
typedef details::functor_t< T >::RefType RefType
typedef details::functor_t< T > functor_t
typedef functor_t::qfunc_t quaternary_functor_t
typedef functor_t::tfunc_t trinary_functor_t
typedef functor_t::bfunc_t binary_functor_t
typedef functor_t::ufunc_t unary_functor_t

Static Public Member Functions

template<typename Type, typename Allocator, template< typename, typename > class Sequence>
static T process (const Sequence< Type, Allocator > &arg_list)
template<typename Sequence>
static T process_1 (const Sequence &arg_list)
template<typename Sequence>
static T process_2 (const Sequence &arg_list)
template<typename Sequence>
static T process_3 (const Sequence &arg_list)
template<typename Sequence>
static T process_4 (const Sequence &arg_list)
template<typename Sequence>
static T process_5 (const Sequence &arg_list)

Detailed Description

template<typename T>
struct exprtk::details::vararg_add_op< T >

Definition at line 16052 of file exprtk.hpp.

Member Typedef Documentation

◆ Type

template<typename T>
typedef opr_base<T>::Type exprtk::details::vararg_add_op< T >::Type

Definition at line 16054 of file exprtk.hpp.

Member Function Documentation

◆ process()

template<typename T>
template<typename Type, typename Allocator, template< typename, typename > class Sequence>
T exprtk::details::vararg_add_op< T >::process ( const Sequence< Type, Allocator > & arg_list)
inlinestatic

Definition at line 16059 of file exprtk.hpp.

16060 {
16061 switch (arg_list.size())
16062 {
16063 case 0 : return T(0);
16064 case 1 : return process_1(arg_list);
16065 case 2 : return process_2(arg_list);
16066 case 3 : return process_3(arg_list);
16067 case 4 : return process_4(arg_list);
16068 case 5 : return process_5(arg_list);
16069 default :
16070 {
16071 T result = T(0);
16072
16073 for (std::size_t i = 0; i < arg_list.size(); ++i)
16074 {
16075 result += value(arg_list[i]);
16076 }
16077
16078 return result;
16079 }
16080 }
16081 }
T value(details::expression_node< T > *n)
Definition exprtk.hpp:16028
static T process_5(const Sequence &arg_list)
Definition exprtk.hpp:16110
static T process_1(const Sequence &arg_list)
Definition exprtk.hpp:16084
static T process_3(const Sequence &arg_list)
Definition exprtk.hpp:16096
static T process_2(const Sequence &arg_list)
Definition exprtk.hpp:16090
static T process_4(const Sequence &arg_list)
Definition exprtk.hpp:16103

References exprtk::details::nodetype_T0oT1< T, T0, T1 >::result, process_1(), process_2(), process_3(), process_4(), process_5(), and exprtk::details::value().

Referenced by exprtk::details::vararg_avg_op< T >::process().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ process_1()

template<typename T>
template<typename Sequence>
T exprtk::details::vararg_add_op< T >::process_1 ( const Sequence & arg_list)
inlinestatic

Definition at line 16084 of file exprtk.hpp.

16085 {
16086 return value(arg_list[0]);
16087 }

References exprtk::details::value().

Referenced by process().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ process_2()

template<typename T>
template<typename Sequence>
T exprtk::details::vararg_add_op< T >::process_2 ( const Sequence & arg_list)
inlinestatic

Definition at line 16090 of file exprtk.hpp.

16091 {
16092 return value(arg_list[0]) + value(arg_list[1]);
16093 }

References exprtk::details::value().

Referenced by process().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ process_3()

template<typename T>
template<typename Sequence>
T exprtk::details::vararg_add_op< T >::process_3 ( const Sequence & arg_list)
inlinestatic

Definition at line 16096 of file exprtk.hpp.

16097 {
16098 return value(arg_list[0]) + value(arg_list[1]) +
16099 value(arg_list[2]) ;
16100 }

References exprtk::details::value().

Referenced by process().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ process_4()

template<typename T>
template<typename Sequence>
T exprtk::details::vararg_add_op< T >::process_4 ( const Sequence & arg_list)
inlinestatic

Definition at line 16103 of file exprtk.hpp.

16104 {
16105 return value(arg_list[0]) + value(arg_list[1]) +
16106 value(arg_list[2]) + value(arg_list[3]) ;
16107 }

References exprtk::details::value().

Referenced by process().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ process_5()

template<typename T>
template<typename Sequence>
T exprtk::details::vararg_add_op< T >::process_5 ( const Sequence & arg_list)
inlinestatic

Definition at line 16110 of file exprtk.hpp.

16111 {
16112 return value(arg_list[0]) + value(arg_list[1]) +
16113 value(arg_list[2]) + value(arg_list[3]) +
16114 value(arg_list[4]) ;
16115 }

References exprtk::details::value().

Referenced by process().

Here is the call graph for this function:
Here is the caller graph for this function:

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