C++ Mathematical Expression Toolkit (ExprTk) release
Loading...
Searching...
No Matches
Public Types | Static Public Member Functions | List of all members
exprtk::details::vararg_multi_op< T > Struct Template Reference
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< 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)
 
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 16265 of file exprtk.hpp.

Member Typedef Documentation

◆ Type

Definition at line 16267 of file exprtk.hpp.

Member Function Documentation

◆ process()

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

Definition at line 16272 of file exprtk.hpp.

16273 {
16274 switch (arg_list.size())
16275 {
16276 case 0 : return std::numeric_limits<T>::quiet_NaN();
16277 case 1 : return process_1(arg_list);
16278 case 2 : return process_2(arg_list);
16279 case 3 : return process_3(arg_list);
16280 case 4 : return process_4(arg_list);
16281 case 5 : return process_5(arg_list);
16282 case 6 : return process_6(arg_list);
16283 case 7 : return process_7(arg_list);
16284 case 8 : return process_8(arg_list);
16285 default :
16286 {
16287 for (std::size_t i = 0; i < (arg_list.size() - 1); ++i)
16288 {
16289 value(arg_list[i]);
16290 }
16291 return value(arg_list.back());
16292 }
16293 }
16294 }
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_4(const Sequence &arg_list)
Definition exprtk.hpp:16318
static T process_2(const Sequence &arg_list)
Definition exprtk.hpp:16303
static T process_1(const Sequence &arg_list)
Definition exprtk.hpp:16297
static T process_7(const Sequence &arg_list)
Definition exprtk.hpp:16348
static T process_5(const Sequence &arg_list)
Definition exprtk.hpp:16327
static T process_8(const Sequence &arg_list)
Definition exprtk.hpp:16360
static T process_3(const Sequence &arg_list)
Definition exprtk.hpp:16310
static T process_6(const Sequence &arg_list)
Definition exprtk.hpp:16337

References exprtk::details::match_impl(), exprtk::details::vararg_multi_op< T >::process_1(), exprtk::details::vararg_multi_op< T >::process_2(), exprtk::details::vararg_multi_op< T >::process_3(), exprtk::details::vararg_multi_op< T >::process_4(), exprtk::details::vararg_multi_op< T >::process_5(), exprtk::details::vararg_multi_op< T >::process_6(), exprtk::details::vararg_multi_op< T >::process_7(), exprtk::details::vararg_multi_op< T >::process_8(), 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_multi_op< T >::process_1 ( const Sequence arg_list)
inlinestatic

Definition at line 16297 of file exprtk.hpp.

16298 {
16299 return value(arg_list[0]);
16300 }

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

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

Definition at line 16303 of file exprtk.hpp.

16304 {
16305 value(arg_list[0]);
16306 return value(arg_list[1]);
16307 }

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

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

Definition at line 16310 of file exprtk.hpp.

16311 {
16312 value(arg_list[0]);
16313 value(arg_list[1]);
16314 return value(arg_list[2]);
16315 }

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

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

Definition at line 16318 of file exprtk.hpp.

16319 {
16320 value(arg_list[0]);
16321 value(arg_list[1]);
16322 value(arg_list[2]);
16323 return value(arg_list[3]);
16324 }

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

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

Definition at line 16327 of file exprtk.hpp.

16328 {
16329 value(arg_list[0]);
16330 value(arg_list[1]);
16331 value(arg_list[2]);
16332 value(arg_list[3]);
16333 return value(arg_list[4]);
16334 }

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

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

Definition at line 16337 of file exprtk.hpp.

16338 {
16339 value(arg_list[0]);
16340 value(arg_list[1]);
16341 value(arg_list[2]);
16342 value(arg_list[3]);
16343 value(arg_list[4]);
16344 return value(arg_list[5]);
16345 }

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

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

Definition at line 16348 of file exprtk.hpp.

16349 {
16350 value(arg_list[0]);
16351 value(arg_list[1]);
16352 value(arg_list[2]);
16353 value(arg_list[3]);
16354 value(arg_list[4]);
16355 value(arg_list[5]);
16356 return value(arg_list[6]);
16357 }

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

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

Definition at line 16360 of file exprtk.hpp.

16361 {
16362 value(arg_list[0]);
16363 value(arg_list[1]);
16364 value(arg_list[2]);
16365 value(arg_list[3]);
16366 value(arg_list[4]);
16367 value(arg_list[5]);
16368 value(arg_list[6]);
16369 return value(arg_list[7]);
16370 }

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

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