mirror of
https://github.com/davidgiven/fluxengine.git
synced 2025-10-31 11:17:01 -07:00
22 lines
727 B
C++
22 lines
727 B
C++
#include "globals.h"
|
|
|
|
bool beginsWith(const std::string& value, const std::string& ending)
|
|
{
|
|
if (ending.size() > value.size())
|
|
return false;
|
|
return std::equal(ending.begin(), ending.end(), value.begin());
|
|
}
|
|
|
|
// Case-insensitive for endings within ASCII.
|
|
bool endsWith(const std::string& value, const std::string& ending)
|
|
{
|
|
if (ending.size() > value.size())
|
|
return false;
|
|
std::string lowercase(ending.size(), 0);
|
|
std::transform(value.rbegin(), value.rbegin() + ending.size(), lowercase.begin(), [](unsigned char c){ return std::tolower(c); });
|
|
return std::equal(ending.rbegin(), ending.rend(), value.rbegin()) ||
|
|
std::equal(ending.rbegin(), ending.rend(), lowercase.begin());
|
|
}
|
|
|
|
|