C++ Mathematical Expression Toolkit (ExprTk) release
Loading...
Searching...
No Matches
Public Types | Static Public Member Functions | List of all members
exprtk::details::vararg_mand_op< T > Struct Template Reference
Inheritance diagram for exprtk::details::vararg_mand_op< T >:
[legend]
Collaboration diagram for exprtk::details::vararg_mand_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< Tfunctor_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_mand_op< T >

Definition at line 16105 of file exprtk.hpp.

Member Typedef Documentation

◆ Type

Definition at line 16107 of file exprtk.hpp.

Member Function Documentation

◆ process()

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

Definition at line 16112 of file exprtk.hpp.

16113 {
16114 switch (arg_list.size())
16115 {
16116 case 1 : return process_1(arg_list);
16117 case 2 : return process_2(arg_list);
16118 case 3 : return process_3(arg_list);
16119 case 4 : return process_4(arg_list);
16120 case 5 : return process_5(arg_list);
16121 default :
16122 {
16123 for (std::size_t i = 0; i < arg_list.size(); ++i)
16124 {
16125 if (std::equal_to<T>()(T(0), value(arg_list[i])))
16126 return T(0);
16127 }
16128
16129 return T(1);
16130 }
16131 }
16132 }
bool match_impl(const Iterator pattern_begin, const Iterator pattern_end, const Iterator data_begin, const Iterator data_end, const typename std::iterator_traits< Iterator >::value_type &zero_or_more, const typename std::iterator_traits< Iterator >::value_type &exactly_one)
Definition exprtk.hpp:598
T value(details::expression_node< T > *n)
Definition exprtk.hpp:15749
static T process_5(const Sequence &arg_list)
Definition exprtk.hpp:16172
static T process_2(const Sequence &arg_list)
Definition exprtk.hpp:16142
static T process_4(const Sequence &arg_list)
Definition exprtk.hpp:16161
static T process_3(const Sequence &arg_list)
Definition exprtk.hpp:16151
static T process_1(const Sequence &arg_list)
Definition exprtk.hpp:16135

References exprtk::details::match_impl(), exprtk::details::vararg_mand_op< T >::process_1(), exprtk::details::vararg_mand_op< T >::process_2(), exprtk::details::vararg_mand_op< T >::process_3(), exprtk::details::vararg_mand_op< T >::process_4(), exprtk::details::vararg_mand_op< T >::process_5(), and exprtk::details::value().

Here is the call graph for this function:

◆ process_1()

template<typename T >
template<typename Sequence >
static T exprtk::details::vararg_mand_op< T >::process_1 ( const Sequence arg_list)
inlinestatic

Definition at line 16135 of file exprtk.hpp.

16136 {
16137 return std::not_equal_to<T>()
16138 (T(0), value(arg_list[0])) ? T(1) : T(0);
16139 }

References exprtk::details::match_impl(), and exprtk::details::value().

Referenced by exprtk::details::vararg_mand_op< T >::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 >
static T exprtk::details::vararg_mand_op< T >::process_2 ( const Sequence arg_list)
inlinestatic

Definition at line 16142 of file exprtk.hpp.

16143 {
16144 return (
16145 std::not_equal_to<T>()(T(0), value(arg_list[0])) &&
16146 std::not_equal_to<T>()(T(0), value(arg_list[1]))
16147 ) ? T(1) : T(0);
16148 }

References exprtk::details::match_impl(), and exprtk::details::value().

Referenced by exprtk::details::vararg_mand_op< T >::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 >
static T exprtk::details::vararg_mand_op< T >::process_3 ( const Sequence arg_list)
inlinestatic

Definition at line 16151 of file exprtk.hpp.

16152 {
16153 return (
16154 std::not_equal_to<T>()(T(0), value(arg_list[0])) &&
16155 std::not_equal_to<T>()(T(0), value(arg_list[1])) &&
16156 std::not_equal_to<T>()(T(0), value(arg_list[2]))
16157 ) ? T(1) : T(0);
16158 }

References exprtk::details::match_impl(), and exprtk::details::value().

Referenced by exprtk::details::vararg_mand_op< T >::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 >
static T exprtk::details::vararg_mand_op< T >::process_4 ( const Sequence arg_list)
inlinestatic

Definition at line 16161 of file exprtk.hpp.

16162 {
16163 return (
16164 std::not_equal_to<T>()(T(0), value(arg_list[0])) &&
16165 std::not_equal_to<T>()(T(0), value(arg_list[1])) &&
16166 std::not_equal_to<T>()(T(0), value(arg_list[2])) &&
16167 std::not_equal_to<T>()(T(0), value(arg_list[3]))
16168 ) ? T(1) : T(0);
16169 }

References exprtk::details::match_impl(), and exprtk::details::value().

Referenced by exprtk::details::vararg_mand_op< T >::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 >
static T exprtk::details::vararg_mand_op< T >::process_5 ( const Sequence arg_list)
inlinestatic

Definition at line 16172 of file exprtk.hpp.

16173 {
16174 return (
16175 std::not_equal_to<T>()(T(0), value(arg_list[0])) &&
16176 std::not_equal_to<T>()(T(0), value(arg_list[1])) &&
16177 std::not_equal_to<T>()(T(0), value(arg_list[2])) &&
16178 std::not_equal_to<T>()(T(0), value(arg_list[3])) &&
16179 std::not_equal_to<T>()(T(0), value(arg_list[4]))
16180 ) ? T(1) : T(0);
16181 }

References exprtk::details::match_impl(), and exprtk::details::value().

Referenced by exprtk::details::vararg_mand_op< T >::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: