|
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 > |
std::enable_if_t<!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 (string &) |
|
void | suanpan::to_lower (string &) |
|
string | suanpan::to_upper (const string &) |
|
string | suanpan::to_lower (const string &) |
|
string | suanpan::to_upper (string &&) |
|
string | suanpan::to_lower (string &&) |
|
std::vector< std::pair< string, unsigned > > | suanpan::expression::split (const std::string_view &variable_string) |
|
template<typename T > |
bool | get_input (istringstream &I, T &O) |
|
template<typename T > |
bool | get_input (istringstream &I, Col< T > &O) |
|
template<typename T > |
bool | get_input (istringstream &I, std::vector< T > &O) |
|
template<typename T , typename... U> |
bool | get_input (istringstream &I, T &O, U &... R) |
|
template<typename T > |
T | get_input (istringstream &I) |
|
void | ignore_whitespace (istringstream &) |
|
template<typename T > |
bool | get_optional_input (istringstream &I, T &O) |
|
template<typename T > |
bool | get_optional_input (istringstream &I, Col< T > &O) |
|
template<typename T , typename... U> |
bool | get_optional_input (istringstream &I, T &O, U &... R) |
|
string | get_remaining (istringstream &) |
|
bool | is_equal (const char *, const char *) |
|
bool | is_equal (char, char) |
|
bool | is_equal (int, char) |
|
bool | is_equal (const string &, const char *) |
|
bool | is_equal (const char *, const string &) |
|
bool | is_equal (const string &, const string &) |
|
bool | if_contain (const string &, const char *) |
|
bool | if_contain (const string &, const string &) |
|
bool | if_contain (string &&, string &&) |
|
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 string &) |
|
bool | is_false (const string &) |
|
bool | is_integer (const string &) |
|
double | perturb (double, double=1E-5) |
|