34std::string
choptoken(std::string& s1,
const std::string& s2)
37 std::string::size_type pos = s1.find(s2);
38 if ( pos != std::string::npos ) {
39 s3 = s1.substr(0, pos+1);
47std::string
chomptoken(std::string& s1,
const std::string& s2)
50 std::string::size_type pos = s1.find_last_of(s2);
51 if ( pos != std::string::npos ) {
52 s3 = s1.substr(pos, s1.size());
53 s1.erase(pos, s1.size());
60std::string
chopfirst(std::string& s1,
const std::string& s2)
63 std::string::size_type pos = s1.find_first_not_of(s2);
64 if ( pos != std::string::npos ) {
65 s3 = s1.substr(0, pos);
76std::string
chopends(std::string& s1,
const std::string& s2)
85std::string
choplast(std::string& s1,
const std::string& s2)
88 std::string::size_type pos = s1.find_last_not_of(s2);
89 if ( pos != std::string::npos ) {
90 s3 = s1.substr(pos+1, s1.size());
91 s1.erase(pos+1, s1.size());
98std::string
chop(std::string& s1,
const std::string& s2)
100 std::string::size_type pos = s1.find(s2);
102 if ( pos == std::string::npos ) {
107 s3 = s1.substr(0, pos);
108 s1.erase(0, pos+s2.size());
115std::string
chomp(std::string& s1,
const std::string& s2)
117 std::string::size_type pos = s1.find(s2);
119 if ( pos == std::string::npos ) {
124 s3 = s1.substr(pos+s2.size(),s1.size());
125 s1.erase(pos,s1.size());
134 std::string::size_type pos;
135 while ( (pos = s.find(s2))!=std::string::npos ) {
142void replace(std::string& s,
const std::string& s2,
const std::string& s3)
144 std::string::size_type pos;
147 while ( (pos = s.find(s2))!=std::string::npos ) {
148 s.replace(pos, 1, s3);
152void replace(std::string& s,
char c1,
char c2)
noexcept {
153 std::replace(s.begin(), s.end(), c1, c2);
159 std::string::size_type pos;
160 while ( (pos = s.find(
':'))!=std::string::npos ) {
170 double delta = fabs(phi1-phi2);
171 delta = (delta >
M_PI) ? (2.0*
M_PI - delta) : delta;
179 FILE* f = fopen(s.c_str(),
"r");
180 if ( f ) { fclose(f);
return true; }
186std::string
number(
const double& d,
const std::string& s) {
188 sprintf(tmp, s.c_str(), d);
192std::string
number(
const int& i,
const std::string& s) {
194 sprintf(tmp, s.c_str(), i);
201 std::string::size_type pos = name.find_last_of(
'/' );
202 if ( pos!=std::string::npos ) name.resize( pos );
208 std::string::size_type pos = name.find(
'/' );
209 while ( pos!=std::string::npos ) {
210 name = name.substr( pos+1, name.size()-pos-1 );
211 pos = name.find(
'/' );
std::string dirname(std::string name)
void replace(std::string &s, const std::string &s2, const std::string &s3)
std::string choptoken(std::string &s1, const std::string &s2)
std::string chopends(std::string &s1, const std::string &s2)
std::string chomp(std::string &s1, const std::string &s2)
void removespace(std::string &s, const std::string &s2)
bool canopen(const std::string &s)
std::string chopfirst(std::string &s1, const std::string &s2)
std::string basename(std::string name)
std::string choplast(std::string &s1, const std::string &s2)
double deltaPhi(double phi1, double phi2)
std::string number(const double &d, const std::string &s)
std::string chomptoken(std::string &s1, const std::string &s2)
std::string chop(std::string &s1, const std::string &s2)
void depunctuate(std::string &s)