|
| template<sp_i IT, std::invocable< IT > F> |
| void | suanpan::for_each (const IT start, const IT end, F &&FN) |
| |
| template<sp_i IT, std::invocable< IT > F> |
| void | suanpan::for_each (const IT end, F &&FN) |
| |
| template<typename T > |
| constexpr T | suanpan::max_element (T start, T end) |
| |
| template<typename T > |
| const std::vector< T > & | suanpan::unique (std::vector< T > &container) |
| |
| template<typename T > |
| constexpr T & | suanpan::hacker (const T &I) |
| |
| template<typename T > |
| constexpr T *& | suanpan::hacker (const T *const &I) |
| |
| template<typename T > |
| T | suanpan::sign (const T &I) |
| |
| template<typename T > |
| constexpr T | suanpan::clamp (T c, T a, T b) |
| |
| template<typename T > |
| constexpr T | suanpan::clamp_unit (T c) |
| |
template<typename T >
requires (!std::numeric_limits<T>::is_integer) |
| bool | suanpan::approx_equal (T x, T y, int ulp=2) |
| |
| unsigned long long | suanpan::binomial (unsigned long long, unsigned long long) |
| |
| char | suanpan::to_upper (char) |
| |
| char | suanpan::to_lower (char) |
| |
| void | suanpan::to_upper (std::string &) |
| |
| void | suanpan::to_lower (std::string &) |
| |
| std::string | suanpan::to_upper (const std::string &) |
| |
| std::string | suanpan::to_lower (const std::string &) |
| |
| std::string | suanpan::to_upper (std::string &&) |
| |
| std::string | suanpan::to_lower (std::string &&) |
| |
| std::vector< std::pair< std::string, unsigned > > | suanpan::expression::split (std::string_view variable_string) |
| |
| template<typename T > |
| bool | get_input (std::istringstream &I, T &O) |
| |
| template<typename T > |
| bool | get_input (std::istringstream &I, Col< T > &O) |
| |
| template<typename T , typename... U> |
| bool | get_input (std::istringstream &I, T &O, U &... R) |
| |
| template<typename T > |
| T | get_input (std::istringstream &I) |
| |
| void | ignore_whitespace (std::istringstream &) |
| |
| template<typename T > |
| bool | get_optional_input (std::istringstream &I, T &O) |
| |
| template<typename T > |
| bool | get_optional_input (std::istringstream &I, Col< T > &O) |
| |
| template<typename T , typename... U> |
| bool | get_optional_input (std::istringstream &I, T &O, U &... R) |
| |
| template<typename T > |
| auto | get_remaining (std::istringstream &I) |
| |
| template<typename T1 , typename T2 > |
| auto | get_remaining (std::istringstream &I) |
| |
| template<typename T1 , typename T2 , typename T3 > |
| auto | get_remaining (std::istringstream &I) |
| |
| template<typename T1 , typename T2 , typename T3 , typename T4 > |
| auto | get_remaining (std::istringstream &I) |
| |
| template<typename T1 , typename T2 , typename T3 , typename T4 , typename T5 > |
| auto | get_remaining (std::istringstream &I) |
| |
| std::string | get_remaining (std::istringstream &) |
| |
| bool | is_equal (const char *, const char *) |
| |
| bool | is_equal (char, char) |
| |
| bool | is_equal (int, char) |
| |
| bool | is_equal (const std::string &, const char *) |
| |
| bool | is_equal (const char *, const std::string &) |
| |
| bool | is_equal (const std::string &, const std::string &) |
| |
| bool | is_equal (std::string_view, const char *) |
| |
| bool | is_equal (const char *, std::string_view) |
| |
| bool | if_contain (const std::string &, const char *) |
| |
| bool | if_contain (const std::string &, const std::string &) |
| |
| bool | if_contain (std::string &&, std::string &&) |
| |
| bool | if_startswith (std::string_view, std::string_view) |
| |
| template<std::equality_comparable T> |
| std::pair< bool, std::int64_t > | if_contain (const std::vector< T > &container, const T target) |
| |
| bool | is_true (const char *) |
| |
| bool | is_false (const char *) |
| |
| bool | is_true (const std::string &) |
| |
| bool | is_false (const std::string &) |
| |
| bool | is_integer (const std::string &) |
| |
| double | perturb (double, double=1E-5) |
| |