34#ifndef HPP_UTIL_STRING_HH
35#define HPP_UTIL_STRING_HH
46template <
typename InputIt,
typename Predicate>
51 if (
next == last)
return false;
56template <
typename InputIt,
typename Predicate>
58 auto n = std::strlen(
c);
61 return c +
n != std::find(
c,
c +
n,
l);
64 if (
next == last)
return false;
69template <
typename InputIt>
72 std::vector<std::string>
strings;
80template <
typename InputIt>
83 std::vector<std::string>
strings;
91inline bool iequal(
const std::string&
a,
const std::string&
b) {
92 return (
a.size() ==
b.size()) &&
93 std::equal(
a.begin(),
a.end(),
b.begin(), [](
char a,
char b) ->
bool {
94 return std::tolower(a) == std::tolower(b);
bool iequal(const std::string &a, const std::string &b)
Definition string.hh:91
bool string_split(InputIt first, InputIt last, const char &c, Predicate p)
Definition string.hh:47
Definition assertion.hh:45
Class to ease exception creation.
Definition exception-factory.hh:73