-
Notifications
You must be signed in to change notification settings - Fork 11
/
exprtk_str_funcs.hpp
71 lines (61 loc) · 2.39 KB
/
exprtk_str_funcs.hpp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
/*
**************************************************************
* C++ Mathematical Expression Toolkit Library *
* *
* Author: Arash Partow (1999-2024) *
* URL: https://www.partow.net/programming/exprtk/index.html *
* *
* Copyright notice: *
* Free use of the Mathematical Expression Toolkit Library is *
* permitted under the guidelines and in accordance with the *
* most current version of the MIT License. *
* https://www.opensource.org/licenses/MIT *
* SPDX-License-Identifier: MIT *
* *
**************************************************************
*/
#ifndef INCLUDE_EXPRTK_STR_FUNCS_HPP
#define INCLUDE_EXPRTK_STR_FUNCS_HPP
#include "exprtk.hpp"
namespace exprtk
{
namespace helper
{
namespace details
{
template <typename T, typename Process>
struct igf_impl : public exprtk::igeneric_function<T>
{
typedef typename igeneric_function<T>::parameter_list_t parameter_list_t;
igf_impl(const std::string& param_sequence = "")
: exprtk::igeneric_function<T>(param_sequence)
{}
inline T operator()(parameter_list_t parameters)
{
return Process::execute(parameters);
}
};
struct toupper_impl {};
struct tolower_impl {};
struct trim_leading_ws_impl {};
struct trim_trailing_ws_impl{};
struct trim_ws_impl {};
struct trim_leading_impl {};
struct trim_trailing_impl {};
struct trim_impl {};
struct sort_impl {};
struct remove_impl {};
struct removec_impl {};
struct to_str_impl {};
struct rotate_l_impl {};
struct rotate_r_impl {};
struct join_impl {};
struct alphabet_uc_impl {};
struct alphabet_lc_impl {};
struct digits_impl {};
struct odd_digits_impl {};
struct even_digits_impl {};
}
}
} // namespace exprtk
#endif