| 63 | } |
| 64 | |
| 65 | inline bool ends_with(const std::string& value, const std::string& suffix) |
| 66 | { |
| 67 | if(suffix.size() > value.size()) |
| 68 | return false; |
| 69 | else |
| 70 | return std::equal(suffix.rbegin(), suffix.rend(), value.rbegin()); |
| 71 | } |
| 72 | |
| 73 | template <class Strings> |
| 74 | inline std::string join_strings(Strings strings, const std::string& delim) |