C++ Mathematical Expression Toolkit (ExprTk) release
Loading...
Searching...
No Matches
overload_func< T > Struct Template Reference
Inheritance diagram for overload_func< T >:
[legend]
Collaboration diagram for overload_func< T >:
[legend]

Classes

struct  test_result_t

Public Types

typedef exprtk::igeneric_function< T > igfun_t
typedef igfun_t::parameter_list_t parameter_list_t
typedef igfun_t::generic_type generic_type
typedef generic_type::vector_view vector_t
typedef exprtk::igeneric_function< T > igfun_t
typedef igfun_t::parameter_list_t parameter_list_t
typedef igfun_t::generic_type generic_type
typedef generic_type::vector_view vector_t
typedef exprtk::igeneric_function< T > igfun_t
typedef igfun_t::parameter_list_t parameter_list_t
typedef igfun_t::generic_type generic_type
typedef generic_type::vector_view vector_t
Public Types inherited from exprtk::igeneric_function< T >
enum  return_type { e_rtrn_scalar = 0 , e_rtrn_string = 1 , e_rtrn_overload = 2 }
typedef T type
typedef type_store< T > generic_type
typedef generic_type::parameter_list parameter_list_t

Public Member Functions

 overload_func (const std::string &param_seq_list)
void clear ()
T operator() (const std::size_t &ps_index, parameter_list_t parameters)
T operator() (const std::size_t &ps_index, std::string &result, parameter_list_t parameters)
void determine_param_seq (parameter_list_t parameters)
 overload_func (const std::string &param_seq_list)
void clear ()
T operator() (const std::size_t &ps_index, parameter_list_t parameters)
T operator() (const std::size_t &ps_index, std::string &result, parameter_list_t parameters)
void determine_param_seq (parameter_list_t parameters)
 overload_func (const std::string &param_seq_list)
void clear ()
T operator() (const std::size_t &ps_index, parameter_list_t parameters)
T operator() (const std::size_t &ps_index, std::string &result, parameter_list_t parameters)
void determine_param_seq (parameter_list_t parameters)
Public Member Functions inherited from exprtk::igeneric_function< T >
 igeneric_function (const std::string &param_seq="", const return_type rtr_type=e_rtrn_scalar)
virtual ~igeneric_function ()
virtual T operator() (parameter_list_t)
virtual T operator() (std::string &, parameter_list_t)
Public Member Functions inherited from exprtk::function_traits
 function_traits ()
bool & allow_zero_parameters ()
bool & has_side_effects ()
std::size_t & min_num_args ()
std::size_t & max_num_args ()

Public Attributes

std::size_t current_ps_index
std::string current_param_seq
Public Attributes inherited from exprtk::igeneric_function< T >
std::string parameter_sequence
return_type rtrn_type

Additional Inherited Members

Static Public Member Functions inherited from exprtk::igeneric_function< T >
static std::string generate_prefix_args (const std::string &prefix_args, std::size_t start=0, std::size_t end=10)
static std::string generate_suffix_args (const std::string &suffix_args, std::size_t start=0, std::size_t end=10)

Detailed Description

template<typename T>
struct overload_func< T >

Definition at line 6384 of file exprtk_mpfr_test.cpp.

Member Typedef Documentation

◆ generic_type [1/3]

template<typename T>
typedef igfun_t::generic_type overload_func< T >::generic_type

Definition at line 6388 of file exprtk_mpfr_test.cpp.

◆ generic_type [2/3]

template<typename T>
typedef igfun_t::generic_type overload_func< T >::generic_type

Definition at line 6385 of file exprtk_real_test.cpp.

◆ generic_type [3/3]

template<typename T>
typedef igfun_t::generic_type overload_func< T >::generic_type

Definition at line 6405 of file exprtk_test.cpp.

◆ igfun_t [1/3]

template<typename T>
typedef exprtk::igeneric_function<T> overload_func< T >::igfun_t

Definition at line 6386 of file exprtk_mpfr_test.cpp.

◆ igfun_t [2/3]

template<typename T>
typedef exprtk::igeneric_function<T> overload_func< T >::igfun_t

Definition at line 6383 of file exprtk_real_test.cpp.

◆ igfun_t [3/3]

template<typename T>
typedef exprtk::igeneric_function<T> overload_func< T >::igfun_t

Definition at line 6403 of file exprtk_test.cpp.

◆ parameter_list_t [1/3]

template<typename T>
typedef igfun_t::parameter_list_t overload_func< T >::parameter_list_t

Definition at line 6387 of file exprtk_mpfr_test.cpp.

◆ parameter_list_t [2/3]

template<typename T>
typedef igfun_t::parameter_list_t overload_func< T >::parameter_list_t

Definition at line 6384 of file exprtk_real_test.cpp.

◆ parameter_list_t [3/3]

template<typename T>
typedef igfun_t::parameter_list_t overload_func< T >::parameter_list_t

Definition at line 6404 of file exprtk_test.cpp.

◆ vector_t [1/3]

template<typename T>
typedef generic_type::vector_view overload_func< T >::vector_t

Definition at line 6389 of file exprtk_mpfr_test.cpp.

◆ vector_t [2/3]

template<typename T>
typedef generic_type::vector_view overload_func< T >::vector_t

Definition at line 6386 of file exprtk_real_test.cpp.

◆ vector_t [3/3]

template<typename T>
typedef generic_type::vector_view overload_func< T >::vector_t

Definition at line 6406 of file exprtk_test.cpp.

Constructor & Destructor Documentation

◆ overload_func() [1/3]

template<typename T>
overload_func< T >::overload_func ( const std::string & param_seq_list)
inline

Definition at line 6393 of file exprtk_mpfr_test.cpp.

References clear(), current_ps_index, exprtk::igeneric_function< T >::e_rtrn_overload, and exprtk::igeneric_function< T >::igeneric_function().

Here is the call graph for this function:

◆ overload_func() [2/3]

template<typename T>
overload_func< T >::overload_func ( const std::string & param_seq_list)
inline

Definition at line 6390 of file exprtk_real_test.cpp.

References clear(), current_ps_index, exprtk::igeneric_function< T >::e_rtrn_overload, and exprtk::igeneric_function< T >::igeneric_function().

Here is the call graph for this function:

◆ overload_func() [3/3]

template<typename T>
overload_func< T >::overload_func ( const std::string & param_seq_list)
inline

Definition at line 6410 of file exprtk_test.cpp.

References clear(), current_ps_index, exprtk::igeneric_function< T >::e_rtrn_overload, and exprtk::igeneric_function< T >::igeneric_function().

Here is the call graph for this function:

Member Function Documentation

◆ clear() [1/3]

template<typename T>
void overload_func< T >::clear ( )
inline

Definition at line 6400 of file exprtk_mpfr_test.cpp.

References current_param_seq, and current_ps_index.

Referenced by overload_func(), and run_test18().

Here is the caller graph for this function:

◆ clear() [2/3]

template<typename T>
void overload_func< T >::clear ( )
inline

Definition at line 6397 of file exprtk_real_test.cpp.

References current_param_seq, and current_ps_index.

◆ clear() [3/3]

template<typename T>
void overload_func< T >::clear ( )
inline

Definition at line 6417 of file exprtk_test.cpp.

References current_param_seq, and current_ps_index.

◆ determine_param_seq() [1/3]

template<typename T>
void overload_func< T >::determine_param_seq ( parameter_list_t parameters)
inline

Definition at line 6424 of file exprtk_mpfr_test.cpp.

6425 {
6426 current_param_seq = "";
6427
6428 for (std::size_t i = 0; i < parameters.size(); ++i)
6429 {
6431
6432 switch (gt.type)
6433 {
6435 break;
6436
6438 break;
6439
6441 break;
6442
6443 default : continue;
6444 }
6445 }
6446 }
igfun_t::generic_type generic_type

References current_param_seq, exprtk::type_store< T >::e_scalar, exprtk::type_store< T >::e_string, exprtk::type_store< T >::e_vector, exprtk::type_store< T >::parameter_list::size(), and exprtk::type_store< T >::type.

Referenced by operator()(), and operator()().

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

◆ determine_param_seq() [2/3]

template<typename T>
void overload_func< T >::determine_param_seq ( parameter_list_t parameters)
inline

Definition at line 6421 of file exprtk_real_test.cpp.

6422 {
6423 current_param_seq = "";
6424
6425 for (std::size_t i = 0; i < parameters.size(); ++i)
6426 {
6428
6429 switch (gt.type)
6430 {
6432 break;
6433
6435 break;
6436
6438 break;
6439
6440 default : continue;
6441 }
6442 }
6443 }

References current_param_seq, exprtk::type_store< T >::e_scalar, exprtk::type_store< T >::e_string, exprtk::type_store< T >::e_vector, exprtk::type_store< T >::parameter_list::size(), and exprtk::type_store< T >::type.

Here is the call graph for this function:

◆ determine_param_seq() [3/3]

template<typename T>
void overload_func< T >::determine_param_seq ( parameter_list_t parameters)
inline

Definition at line 6441 of file exprtk_test.cpp.

6442 {
6443 current_param_seq = "";
6444
6445 for (std::size_t i = 0; i < parameters.size(); ++i)
6446 {
6448
6449 switch (gt.type)
6450 {
6452 break;
6453
6455 break;
6456
6458 break;
6459
6460 default : continue;
6461 }
6462 }
6463 }

References current_param_seq, exprtk::type_store< T >::e_scalar, exprtk::type_store< T >::e_string, exprtk::type_store< T >::e_vector, exprtk::type_store< T >::parameter_list::size(), and exprtk::type_store< T >::type.

Here is the call graph for this function:

◆ operator()() [1/6]

template<typename T>
T overload_func< T >::operator() ( const std::size_t & ps_index,
parameter_list_t parameters )
inlinevirtual

Reimplemented from exprtk::igeneric_function< T >.

Definition at line 6406 of file exprtk_mpfr_test.cpp.

6408 {
6411 return T(1);
6412 }
void determine_param_seq(parameter_list_t parameters)

References current_ps_index, determine_param_seq(), and exprtk_test_override.

Here is the call graph for this function:

◆ operator()() [2/6]

template<typename T>
T overload_func< T >::operator() ( const std::size_t & ps_index,
parameter_list_t parameters )
inlinevirtual

Reimplemented from exprtk::igeneric_function< T >.

Definition at line 6403 of file exprtk_real_test.cpp.

6405 {
6408 return T(1);
6409 }

References current_ps_index, determine_param_seq(), and exprtk_test_override.

Here is the call graph for this function:

◆ operator()() [3/6]

template<typename T>
T overload_func< T >::operator() ( const std::size_t & ps_index,
parameter_list_t parameters )
inlinevirtual

Reimplemented from exprtk::igeneric_function< T >.

Definition at line 6423 of file exprtk_test.cpp.

6425 {
6428 return T(1);
6429 }

References current_ps_index, determine_param_seq(), and exprtk_test_override.

Here is the call graph for this function:

◆ operator()() [4/6]

template<typename T>
T overload_func< T >::operator() ( const std::size_t & ps_index,
std::string & result,
parameter_list_t parameters )
inlinevirtual

Reimplemented from exprtk::igeneric_function< T >.

Definition at line 6414 of file exprtk_mpfr_test.cpp.

6417 {
6420 result = "string result";
6421 return T(1);
6422 }

References current_ps_index, determine_param_seq(), and exprtk_test_override.

Here is the call graph for this function:

◆ operator()() [5/6]

template<typename T>
T overload_func< T >::operator() ( const std::size_t & ps_index,
std::string & result,
parameter_list_t parameters )
inlinevirtual

Reimplemented from exprtk::igeneric_function< T >.

Definition at line 6411 of file exprtk_real_test.cpp.

6414 {
6417 result = "string result";
6418 return T(1);
6419 }

References current_ps_index, determine_param_seq(), and exprtk_test_override.

Here is the call graph for this function:

◆ operator()() [6/6]

template<typename T>
T overload_func< T >::operator() ( const std::size_t & ps_index,
std::string & result,
parameter_list_t parameters )
inlinevirtual

Reimplemented from exprtk::igeneric_function< T >.

Definition at line 6431 of file exprtk_test.cpp.

6434 {
6437 result = "string result";
6438 return T(1);
6439 }

References current_ps_index, determine_param_seq(), and exprtk_test_override.

Here is the call graph for this function:

Member Data Documentation

◆ current_param_seq

template<typename T>
std::string overload_func< T >::current_param_seq

Definition at line 6449 of file exprtk_mpfr_test.cpp.

Referenced by clear(), determine_param_seq(), and run_test18().

◆ current_ps_index

template<typename T>
std::size_t overload_func< T >::current_ps_index

Definition at line 6448 of file exprtk_mpfr_test.cpp.

Referenced by clear(), operator()(), operator()(), overload_func(), and run_test18().


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