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

#include <exprtk.hpp>

Inheritance diagram for exprtk::details::vararg_mor_op< T >:
[legend]
Collaboration diagram for exprtk::details::vararg_mor_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_mor_op< T >

Definition at line 16464 of file exprtk.hpp.

Member Typedef Documentation

◆ Type

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

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

Definition at line 16471 of file exprtk.hpp.

16472 {
16473 switch (arg_list.size())
16474 {
16475 case 1 : return process_1(arg_list);
16476 case 2 : return process_2(arg_list);
16477 case 3 : return process_3(arg_list);
16478 case 4 : return process_4(arg_list);
16479 case 5 : return process_5(arg_list);
16480 default :
16481 {
16482 for (std::size_t i = 0; i < arg_list.size(); ++i)
16483 {
16484 if (std::not_equal_to<T>()(T(0), value(arg_list[i])))
16485 return T(1);
16486 }
16487
16488 return T(0);
16489 }
16490 }
16491 }
T value(details::expression_node< T > *n)
Definition exprtk.hpp:16028
static T process_4(const Sequence &arg_list)
Definition exprtk.hpp:16520
static T process_2(const Sequence &arg_list)
Definition exprtk.hpp:16501
static T process_5(const Sequence &arg_list)
Definition exprtk.hpp:16531
static T process_3(const Sequence &arg_list)
Definition exprtk.hpp:16510
static T process_1(const Sequence &arg_list)
Definition exprtk.hpp:16494

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

Here is the call graph for this function:

◆ process_1()

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

Definition at line 16494 of file exprtk.hpp.

16495 {
16496 return std::not_equal_to<T>()
16497 (T(0), value(arg_list[0])) ? T(1) : T(0);
16498 }

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

Definition at line 16501 of file exprtk.hpp.

16502 {
16503 return (
16504 std::not_equal_to<T>()(T(0), value(arg_list[0])) ||
16506 ) ? T(1) : T(0);
16507 }

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

Definition at line 16510 of file exprtk.hpp.

16511 {
16512 return (
16513 std::not_equal_to<T>()(T(0), value(arg_list[0])) ||
16514 std::not_equal_to<T>()(T(0), value(arg_list[1])) ||
16516 ) ? T(1) : T(0);
16517 }

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

Definition at line 16520 of file exprtk.hpp.

16521 {
16522 return (
16523 std::not_equal_to<T>()(T(0), value(arg_list[0])) ||
16524 std::not_equal_to<T>()(T(0), value(arg_list[1])) ||
16525 std::not_equal_to<T>()(T(0), value(arg_list[2])) ||
16527 ) ? T(1) : T(0);
16528 }

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

Definition at line 16531 of file exprtk.hpp.

16532 {
16533 return (
16534 std::not_equal_to<T>()(T(0), value(arg_list[0])) ||
16535 std::not_equal_to<T>()(T(0), value(arg_list[1])) ||
16536 std::not_equal_to<T>()(T(0), value(arg_list[2])) ||
16537 std::not_equal_to<T>()(T(0), value(arg_list[3])) ||
16539 ) ? T(1) : T(0);
16540 }

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: