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

#include <exprtk.hpp>

Inheritance diagram for exprtk::details::vararg_multi_op< T >:
[legend]
Collaboration diagram for exprtk::details::vararg_multi_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)
template<typename Sequence>
static T process_6 (const Sequence &arg_list)
template<typename Sequence>
static T process_7 (const Sequence &arg_list)
template<typename Sequence>
static T process_8 (const Sequence &arg_list)

Detailed Description

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

Definition at line 16544 of file exprtk.hpp.

Member Typedef Documentation

◆ Type

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

Definition at line 16546 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_multi_op< T >::process ( const Sequence< Type, Allocator > & arg_list)
inlinestatic

Definition at line 16551 of file exprtk.hpp.

16552 {
16553 switch (arg_list.size())
16554 {
16555 case 0 : return std::numeric_limits<T>::quiet_NaN();
16556 case 1 : return process_1(arg_list);
16557 case 2 : return process_2(arg_list);
16558 case 3 : return process_3(arg_list);
16559 case 4 : return process_4(arg_list);
16560 case 5 : return process_5(arg_list);
16561 case 6 : return process_6(arg_list);
16562 case 7 : return process_7(arg_list);
16563 case 8 : return process_8(arg_list);
16564 default :
16565 {
16566 for (std::size_t i = 0; i < (arg_list.size() - 1); ++i)
16567 {
16568 value(arg_list[i]);
16569 }
16570 return value(arg_list.back());
16571 }
16572 }
16573 }
T value(details::expression_node< T > *n)
Definition exprtk.hpp:16028
static T process_4(const Sequence &arg_list)
Definition exprtk.hpp:16597
static T process_2(const Sequence &arg_list)
Definition exprtk.hpp:16582
static T process_1(const Sequence &arg_list)
Definition exprtk.hpp:16576
static T process_7(const Sequence &arg_list)
Definition exprtk.hpp:16627
static T process_5(const Sequence &arg_list)
Definition exprtk.hpp:16606
static T process_8(const Sequence &arg_list)
Definition exprtk.hpp:16639
static T process_3(const Sequence &arg_list)
Definition exprtk.hpp:16589
static T process_6(const Sequence &arg_list)
Definition exprtk.hpp:16616

References process_1(), process_2(), process_3(), process_4(), process_5(), process_6(), process_7(), process_8(), and exprtk::details::value().

Here is the call graph for this function:

◆ process_1()

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

Definition at line 16576 of file exprtk.hpp.

16577 {
16578 return value(arg_list[0]);
16579 }

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_multi_op< T >::process_2 ( const Sequence & arg_list)
inlinestatic

Definition at line 16582 of file exprtk.hpp.

16583 {
16584 value(arg_list[0]);
16585 return value(arg_list[1]);
16586 }

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_multi_op< T >::process_3 ( const Sequence & arg_list)
inlinestatic

Definition at line 16589 of file exprtk.hpp.

16590 {
16591 value(arg_list[0]);
16592 value(arg_list[1]);
16593 return value(arg_list[2]);
16594 }

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_multi_op< T >::process_4 ( const Sequence & arg_list)
inlinestatic

Definition at line 16597 of file exprtk.hpp.

16598 {
16599 value(arg_list[0]);
16600 value(arg_list[1]);
16601 value(arg_list[2]);
16602 return value(arg_list[3]);
16603 }

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_multi_op< T >::process_5 ( const Sequence & arg_list)
inlinestatic

Definition at line 16606 of file exprtk.hpp.

16607 {
16608 value(arg_list[0]);
16609 value(arg_list[1]);
16610 value(arg_list[2]);
16611 value(arg_list[3]);
16612 return value(arg_list[4]);
16613 }

References exprtk::details::value().

Referenced by process().

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

◆ process_6()

template<typename T>
template<typename Sequence>
T exprtk::details::vararg_multi_op< T >::process_6 ( const Sequence & arg_list)
inlinestatic

Definition at line 16616 of file exprtk.hpp.

16617 {
16618 value(arg_list[0]);
16619 value(arg_list[1]);
16620 value(arg_list[2]);
16621 value(arg_list[3]);
16622 value(arg_list[4]);
16623 return value(arg_list[5]);
16624 }

References exprtk::details::value().

Referenced by process().

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

◆ process_7()

template<typename T>
template<typename Sequence>
T exprtk::details::vararg_multi_op< T >::process_7 ( const Sequence & arg_list)
inlinestatic

Definition at line 16627 of file exprtk.hpp.

16628 {
16629 value(arg_list[0]);
16630 value(arg_list[1]);
16631 value(arg_list[2]);
16632 value(arg_list[3]);
16633 value(arg_list[4]);
16634 value(arg_list[5]);
16635 return value(arg_list[6]);
16636 }

References exprtk::details::value().

Referenced by process().

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

◆ process_8()

template<typename T>
template<typename Sequence>
T exprtk::details::vararg_multi_op< T >::process_8 ( const Sequence & arg_list)
inlinestatic

Definition at line 16639 of file exprtk.hpp.

16640 {
16641 value(arg_list[0]);
16642 value(arg_list[1]);
16643 value(arg_list[2]);
16644 value(arg_list[3]);
16645 value(arg_list[4]);
16646 value(arg_list[5]);
16647 value(arg_list[6]);
16648 return value(arg_list[7]);
16649 }

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: