C++ Mathematical Expression Toolkit (ExprTk) release
Loading...
Searching...
No Matches
Public Types | Public Member Functions | Public Attributes | List of all members
gen_func< T > Struct Template Reference
Inheritance diagram for gen_func< T >:
[legend]
Collaboration diagram for gen_func< T >:
[legend]

Public Types

typedef exprtk::igeneric_function< T >::generic_type generic_type
 
typedef exprtk::igeneric_function< T >::parameter_list_t parameter_list_t
 
typedef generic_type::scalar_view scalar_t
 
typedef generic_type::vector_view vector_t
 
typedef generic_type::string_view string_t
 
typedef exprtk::igeneric_function< T >::generic_type generic_type
 
typedef exprtk::igeneric_function< T >::parameter_list_t parameter_list_t
 
typedef generic_type::scalar_view scalar_t
 
typedef generic_type::vector_view vector_t
 
typedef generic_type::string_view string_t
 
typedef exprtk::igeneric_function< T >::generic_type generic_type
 
typedef exprtk::igeneric_function< T >::parameter_list_t parameter_list_t
 
typedef generic_type::scalar_view scalar_t
 
typedef generic_type::vector_view vector_t
 
typedef generic_type::string_view string_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

 gen_func ()
 
operator() (parameter_list_t params)
 
 gen_func ()
 
operator() (parameter_list_t params)
 
 gen_func ()
 
operator() (parameter_list_t params)
 
- 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() (std::string &, parameter_list_t)
 
virtual T operator() (const std::size_t &, parameter_list_t)
 
virtual T operator() (const std::size_t &, 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 scalar_count
 
std::size_t vector_count
 
std::size_t string_count
 
- 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 gen_func< T >

Definition at line 6149 of file exprtk_mpfr_test.cpp.

Member Typedef Documentation

◆ generic_type [1/3]

template<typename T >
typedef exprtk::igeneric_function<T>::generic_type gen_func< T >::generic_type

Definition at line 6151 of file exprtk_mpfr_test.cpp.

◆ generic_type [2/3]

template<typename T >
typedef exprtk::igeneric_function<T>::generic_type gen_func< T >::generic_type

Definition at line 6148 of file exprtk_real_test.cpp.

◆ generic_type [3/3]

template<typename T >
typedef exprtk::igeneric_function<T>::generic_type gen_func< T >::generic_type

Definition at line 6168 of file exprtk_test.cpp.

◆ parameter_list_t [1/3]

template<typename T >
typedef exprtk::igeneric_function<T>::parameter_list_t gen_func< T >::parameter_list_t

Definition at line 6152 of file exprtk_mpfr_test.cpp.

◆ parameter_list_t [2/3]

template<typename T >
typedef exprtk::igeneric_function<T>::parameter_list_t gen_func< T >::parameter_list_t

Definition at line 6149 of file exprtk_real_test.cpp.

◆ parameter_list_t [3/3]

template<typename T >
typedef exprtk::igeneric_function<T>::parameter_list_t gen_func< T >::parameter_list_t

Definition at line 6169 of file exprtk_test.cpp.

◆ scalar_t [1/3]

template<typename T >
typedef generic_type::scalar_view gen_func< T >::scalar_t

Definition at line 6154 of file exprtk_mpfr_test.cpp.

◆ scalar_t [2/3]

template<typename T >
typedef generic_type::scalar_view gen_func< T >::scalar_t

Definition at line 6151 of file exprtk_real_test.cpp.

◆ scalar_t [3/3]

template<typename T >
typedef generic_type::scalar_view gen_func< T >::scalar_t

Definition at line 6171 of file exprtk_test.cpp.

◆ string_t [1/3]

template<typename T >
typedef generic_type::string_view gen_func< T >::string_t

Definition at line 6156 of file exprtk_mpfr_test.cpp.

◆ string_t [2/3]

template<typename T >
typedef generic_type::string_view gen_func< T >::string_t

Definition at line 6153 of file exprtk_real_test.cpp.

◆ string_t [3/3]

template<typename T >
typedef generic_type::string_view gen_func< T >::string_t

Definition at line 6173 of file exprtk_test.cpp.

◆ vector_t [1/3]

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

Definition at line 6155 of file exprtk_mpfr_test.cpp.

◆ vector_t [2/3]

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

Definition at line 6152 of file exprtk_real_test.cpp.

◆ vector_t [3/3]

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

Definition at line 6172 of file exprtk_test.cpp.

Constructor & Destructor Documentation

◆ gen_func() [1/3]

template<typename T >
gen_func< T >::gen_func ( )
inline

Definition at line 6160 of file exprtk_mpfr_test.cpp.

6161 : scalar_count(0)
6162 , vector_count(0)
6163 , string_count(0)
6164 {}
std::size_t vector_count
std::size_t string_count
std::size_t scalar_count

◆ gen_func() [2/3]

template<typename T >
gen_func< T >::gen_func ( )
inline

Definition at line 6157 of file exprtk_real_test.cpp.

6158 : scalar_count(0)
6159 , vector_count(0)
6160 , string_count(0)
6161 {}

◆ gen_func() [3/3]

template<typename T >
gen_func< T >::gen_func ( )
inline

Definition at line 6177 of file exprtk_test.cpp.

6178 : scalar_count(0)
6179 , vector_count(0)
6180 , string_count(0)
6181 {}

Member Function Documentation

◆ operator()() [1/3]

template<typename T >
T gen_func< T >::operator() ( parameter_list_t  params)
inlinevirtual

Reimplemented from exprtk::igeneric_function< T >.

Definition at line 6166 of file exprtk_mpfr_test.cpp.

6167 {
6168 for (std::size_t i = 0; i < params.size(); ++i)
6169 {
6170 generic_type& gt = params[i];
6171
6172 switch (gt.type)
6173 {
6175 break;
6176
6178 break;
6179
6180 case generic_type::e_string : {
6181 if (
6182 ("CdEf" != exprtk::to_str(string_t(gt))) &&
6183 ("abc123" != exprtk::to_str(string_t(gt)))
6184 )
6185 {
6186 return std::numeric_limits<T>::quiet_NaN();
6187 }
6188 else
6189 string_count++;
6190 }
6191 break;
6192
6193 default : return std::numeric_limits<T>::quiet_NaN();
6194 }
6195 }
6196
6197 return T(0);
6198 }
std::string to_str(const StringView &view)
Definition exprtk.hpp:4996
generic_type::string_view string_t
exprtk::igeneric_function< T >::generic_type generic_type

References exprtk::type_store< T >::e_scalar, exprtk::type_store< T >::e_string, exprtk::type_store< T >::e_vector, gen_func< T >::scalar_count, gen_func< T >::string_count, exprtk::to_str(), exprtk::type_store< T >::type, and gen_func< T >::vector_count.

Here is the call graph for this function:

◆ operator()() [2/3]

template<typename T >
T gen_func< T >::operator() ( parameter_list_t  params)
inlinevirtual

Reimplemented from exprtk::igeneric_function< T >.

Definition at line 6163 of file exprtk_real_test.cpp.

6164 {
6165 for (std::size_t i = 0; i < params.size(); ++i)
6166 {
6167 generic_type& gt = params[i];
6168
6169 switch (gt.type)
6170 {
6172 break;
6173
6175 break;
6176
6177 case generic_type::e_string : {
6178 if (
6179 ("CdEf" != exprtk::to_str(string_t(gt))) &&
6180 ("abc123" != exprtk::to_str(string_t(gt)))
6181 )
6182 {
6183 return std::numeric_limits<T>::quiet_NaN();
6184 }
6185 else
6186 string_count++;
6187 }
6188 break;
6189
6190 default : return std::numeric_limits<T>::quiet_NaN();
6191 }
6192 }
6193
6194 return T(0);
6195 }

References exprtk::type_store< T >::e_scalar, exprtk::type_store< T >::e_string, exprtk::type_store< T >::e_vector, gen_func< T >::scalar_count, gen_func< T >::string_count, exprtk::to_str(), exprtk::type_store< T >::type, and gen_func< T >::vector_count.

Here is the call graph for this function:

◆ operator()() [3/3]

template<typename T >
T gen_func< T >::operator() ( parameter_list_t  params)
inlinevirtual

Reimplemented from exprtk::igeneric_function< T >.

Definition at line 6183 of file exprtk_test.cpp.

6184 {
6185 for (std::size_t i = 0; i < params.size(); ++i)
6186 {
6187 generic_type& gt = params[i];
6188
6189 switch (gt.type)
6190 {
6192 break;
6193
6195 break;
6196
6197 case generic_type::e_string : {
6198 if (
6199 ("CdEf" != exprtk::to_str(string_t(gt))) &&
6200 ("abc123" != exprtk::to_str(string_t(gt)))
6201 )
6202 {
6203 return std::numeric_limits<T>::quiet_NaN();
6204 }
6205 else
6206 string_count++;
6207 }
6208 break;
6209
6210 default : return std::numeric_limits<T>::quiet_NaN();
6211 }
6212 }
6213
6214 return T(0);
6215 }

References exprtk::type_store< T >::e_scalar, exprtk::type_store< T >::e_string, exprtk::type_store< T >::e_vector, gen_func< T >::scalar_count, gen_func< T >::string_count, exprtk::to_str(), exprtk::type_store< T >::type, and gen_func< T >::vector_count.

Here is the call graph for this function:

Member Data Documentation

◆ scalar_count

template<typename T >
std::size_t gen_func< T >::scalar_count

Definition at line 6200 of file exprtk_mpfr_test.cpp.

Referenced by gen_func< T >::operator()(), and run_test18().

◆ string_count

template<typename T >
std::size_t gen_func< T >::string_count

Definition at line 6202 of file exprtk_mpfr_test.cpp.

Referenced by gen_func< T >::operator()(), and run_test18().

◆ vector_count

template<typename T >
std::size_t gen_func< T >::vector_count

Definition at line 6201 of file exprtk_mpfr_test.cpp.

Referenced by gen_func< T >::operator()(), and run_test18().


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