C++ Mathematical Expression Toolkit (ExprTk) release
Loading...
Searching...
No Matches
Classes | Public Types | Public Member Functions | Public Attributes | List of all members
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 ()
 
operator() (const std::size_t &ps_index, parameter_list_t parameters)
 
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 ()
 
operator() (const std::size_t &ps_index, parameter_list_t parameters)
 
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 ()
 
operator() (const std::size_t &ps_index, parameter_list_t parameters)
 
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.

6395 , current_ps_index(std::numeric_limits<std::size_t>::max())
6396 {
6397 clear();
6398 }
std::size_t current_ps_index

References overload_func< T >::clear().

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.

6392 , current_ps_index(std::numeric_limits<std::size_t>::max())
6393 {
6394 clear();
6395 }

References overload_func< T >::clear().

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.

6412 , current_ps_index(std::numeric_limits<std::size_t>::max())
6413 {
6414 clear();
6415 }

References overload_func< T >::clear().

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.

6401 {
6402 current_ps_index = std::numeric_limits<std::size_t>::max();
6403 current_param_seq = "";
6404 }
std::string current_param_seq

References overload_func< T >::current_param_seq, and overload_func< T >::current_ps_index.

Referenced by overload_func< T >::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.

6398 {
6399 current_ps_index = std::numeric_limits<std::size_t>::max();
6400 current_param_seq = "";
6401 }

References overload_func< T >::current_param_seq, and overload_func< T >::current_ps_index.

◆ clear() [3/3]

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

Definition at line 6417 of file exprtk_test.cpp.

6418 {
6419 current_ps_index = std::numeric_limits<std::size_t>::max();
6420 current_param_seq = "";
6421 }

References overload_func< T >::current_param_seq, and overload_func< T >::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 {
6430 generic_type& gt = parameters[i];
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 overload_func< T >::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 overload_func< T >::operator()(), and overload_func< T >::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 {
6427 generic_type& gt = parameters[i];
6428
6429 switch (gt.type)
6430 {
6432 break;
6433
6435 break;
6436
6438 break;
6439
6440 default : continue;
6441 }
6442 }
6443 }

References overload_func< T >::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 {
6447 generic_type& gt = parameters[i];
6448
6449 switch (gt.type)
6450 {
6452 break;
6453
6455 break;
6456
6458 break;
6459
6460 default : continue;
6461 }
6462 }
6463 }

References overload_func< T >::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 {
6409 current_ps_index = ps_index;
6410 determine_param_seq(parameters);
6411 return T(1);
6412 }
void determine_param_seq(parameter_list_t parameters)

References overload_func< T >::current_ps_index, and overload_func< T >::determine_param_seq().

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 {
6406 current_ps_index = ps_index;
6407 determine_param_seq(parameters);
6408 return T(1);
6409 }

References overload_func< T >::current_ps_index, and overload_func< T >::determine_param_seq().

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 {
6426 current_ps_index = ps_index;
6427 determine_param_seq(parameters);
6428 return T(1);
6429 }

References overload_func< T >::current_ps_index, and overload_func< T >::determine_param_seq().

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 {
6418 current_ps_index = ps_index;
6419 determine_param_seq(parameters);
6420 result = "string result";
6421 return T(1);
6422 }

References overload_func< T >::current_ps_index, and overload_func< T >::determine_param_seq().

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 {
6415 current_ps_index = ps_index;
6416 determine_param_seq(parameters);
6417 result = "string result";
6418 return T(1);
6419 }

References overload_func< T >::current_ps_index, and overload_func< T >::determine_param_seq().

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 {
6435 current_ps_index = ps_index;
6436 determine_param_seq(parameters);
6437 result = "string result";
6438 return T(1);
6439 }

References overload_func< T >::current_ps_index, and overload_func< T >::determine_param_seq().

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

◆ current_ps_index

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

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