Replace stripws with boost::algorithm::trim_copy
This commit is contained in:
parent
367bdba551
commit
b25784dc09
5 changed files with 28 additions and 60 deletions
|
|
@ -11,12 +11,15 @@
|
|||
|
||||
#include "ct_defs.h"
|
||||
#include "cantera/base/fmt.h"
|
||||
#include <boost/algorithm/string.hpp>
|
||||
|
||||
#include <string>
|
||||
|
||||
namespace Cantera
|
||||
{
|
||||
|
||||
namespace ba = boost::algorithm;
|
||||
|
||||
//! Convert a double into a c++ string
|
||||
/*!
|
||||
* @param x double to be converted
|
||||
|
|
@ -55,6 +58,7 @@ std::string vec2str(const vector_fp& v, const std::string& fmt="%g",
|
|||
*
|
||||
* @param s Input string
|
||||
* @returns a copy of the string, stripped of leading and trailing white space
|
||||
* @deprecated Use `boost::algorithm::trim_copy` instead
|
||||
*/
|
||||
std::string stripws(const std::string& s);
|
||||
|
||||
|
|
|
|||
|
|
@ -44,7 +44,7 @@ static string pypath()
|
|||
const char* py = getenv("PYTHON_CMD");
|
||||
|
||||
if (py) {
|
||||
string sp = stripws(string(py));
|
||||
string sp = ba::trim_copy(string(py));
|
||||
if (sp.size() > 0) {
|
||||
s = sp;
|
||||
}
|
||||
|
|
@ -134,7 +134,7 @@ static std::string call_ctml_writer(const std::string& text, bool isfile)
|
|||
}
|
||||
python.close();
|
||||
python_exit_code = python.exit_code();
|
||||
error_output = stripws(error_stream.str());
|
||||
error_output = ba::trim_copy(error_stream.str());
|
||||
python_output = output_stream.str();
|
||||
} catch (std::exception& err) {
|
||||
// Report failure to execute Python
|
||||
|
|
@ -233,7 +233,7 @@ void ck2cti(const std::string& in_file, const std::string& thermo_file,
|
|||
}
|
||||
python.close();
|
||||
python_exit_code = python.exit_code();
|
||||
python_output = stripws(output_stream.str());
|
||||
python_output = ba::trim_copy(output_stream.str());
|
||||
} catch (std::exception& err) {
|
||||
// Report failure to execute Python
|
||||
stringstream message;
|
||||
|
|
|
|||
|
|
@ -91,47 +91,11 @@ std::string lowercase(const std::string& s)
|
|||
return lc;
|
||||
}
|
||||
|
||||
//! Return the position of the first printable character in the string
|
||||
/*!
|
||||
* @param s input string
|
||||
* @returns an int representing the first printable string. If
|
||||
* none returns the size of the string.
|
||||
*/
|
||||
static int firstChar(const std::string& s)
|
||||
{
|
||||
int i;
|
||||
int n = static_cast<int>(s.size());
|
||||
for (i = 0; i < n; i++) {
|
||||
if (s[i] != ' ' && isprint(s[i])) {
|
||||
break;
|
||||
}
|
||||
}
|
||||
return i;
|
||||
}
|
||||
|
||||
//! Return the position of the last printable character in the string
|
||||
/*!
|
||||
* @param s input string
|
||||
* @returns an int representing the first printable string. If
|
||||
* none returns -1.
|
||||
*/
|
||||
static int lastChar(const std::string& s)
|
||||
{
|
||||
int i;
|
||||
int n = static_cast<int>(s.size());
|
||||
for (i = n-1; i >= 0; i--) {
|
||||
if (s[i] != ' ' && isprint(s[i])) {
|
||||
break;
|
||||
}
|
||||
}
|
||||
return i;
|
||||
}
|
||||
|
||||
std::string stripws(const std::string& s)
|
||||
{
|
||||
int ifirst = firstChar(s);
|
||||
int ilast = lastChar(s);
|
||||
return s.substr(ifirst, ilast - ifirst + 1);
|
||||
warn_deprecated("stripws", "Use boost::algorithm::trim_copy instead. "
|
||||
"To be removed after Cantera 2.3.");
|
||||
return ba::trim_copy(s);
|
||||
}
|
||||
|
||||
std::string stripnonprint(const std::string& s)
|
||||
|
|
@ -162,7 +126,7 @@ compositionMap parseCompString(const std::string& ss,
|
|||
}
|
||||
size_t valstart = ss.find_first_not_of(" \t\n", colon+1);
|
||||
stop = ss.find_first_of(", ;\n\t", valstart);
|
||||
std::string name = stripws(ss.substr(start, colon-start));
|
||||
std::string name = ba::trim_copy(ss.substr(start, colon-start));
|
||||
if (!names.empty() && x.find(name) == x.end()) {
|
||||
throw CanteraError("parseCompString",
|
||||
"unknown species '" + name + "'");
|
||||
|
|
@ -174,7 +138,7 @@ compositionMap parseCompString(const std::string& ss,
|
|||
x[name] = fpValueCheck(ss.substr(valstart, stop-colon-1));
|
||||
start = ss.find_first_not_of(", ;\n\t", stop+1);
|
||||
}
|
||||
if (stop != npos && !stripws(ss.substr(stop)).empty()) {
|
||||
if (stop != npos && !ba::trim_copy(ss.substr(stop)).empty()) {
|
||||
throw CanteraError("parseCompString", "Found non-key:value data "
|
||||
"in composition string: '" + ss.substr(stop) + "'");
|
||||
}
|
||||
|
|
@ -183,7 +147,7 @@ compositionMap parseCompString(const std::string& ss,
|
|||
|
||||
int intValue(const std::string& val)
|
||||
{
|
||||
return std::atoi(stripws(val).c_str());
|
||||
return std::atoi(ba::trim_copy(val).c_str());
|
||||
}
|
||||
|
||||
doublereal fpValue(const std::string& val)
|
||||
|
|
@ -197,7 +161,7 @@ doublereal fpValue(const std::string& val)
|
|||
|
||||
doublereal fpValueCheck(const std::string& val)
|
||||
{
|
||||
std::string str = stripws(val);
|
||||
std::string str = ba::trim_copy(val);
|
||||
if (str.empty()) {
|
||||
throw CanteraError("fpValueCheck", "string has zero length");
|
||||
}
|
||||
|
|
@ -262,7 +226,7 @@ std::string wrapString(const std::string& s, const int len)
|
|||
|
||||
std::string parseSpeciesName(const std::string& nameStr, std::string& phaseName)
|
||||
{
|
||||
std::string s = stripws(nameStr);
|
||||
std::string s = ba::trim_copy(nameStr);
|
||||
phaseName = "";
|
||||
size_t ibegin = s.find_first_not_of(" ;\n\t");
|
||||
if (ibegin != std::string::npos) {
|
||||
|
|
|
|||
|
|
@ -192,11 +192,11 @@ int XML_Reader::findQuotedString(const std::string& s, std::string& rstring) con
|
|||
void XML_Reader::parseTag(const std::string& tag, std::string& name,
|
||||
std::map<std::string, std::string>& attribs) const
|
||||
{
|
||||
string s = stripws(tag);
|
||||
string s = ba::trim_copy(tag);
|
||||
size_t iloc = s.find(' ');
|
||||
if (iloc != string::npos) {
|
||||
name = s.substr(0, iloc);
|
||||
s = stripws(s.substr(iloc+1,s.size()));
|
||||
s = ba::trim_copy(s.substr(iloc+1,s.size()));
|
||||
if (s[s.size()-1] == '/') {
|
||||
name += "/";
|
||||
}
|
||||
|
|
@ -207,17 +207,17 @@ void XML_Reader::parseTag(const std::string& tag, std::string& name,
|
|||
if (iloc == string::npos) {
|
||||
break;
|
||||
}
|
||||
string attr = stripws(s.substr(0,iloc));
|
||||
string attr = ba::trim_copy(s.substr(0,iloc));
|
||||
if (attr == "") {
|
||||
break;
|
||||
}
|
||||
s = stripws(s.substr(iloc+1,s.size()));
|
||||
s = ba::trim_copy(s.substr(iloc+1,s.size()));
|
||||
string val;
|
||||
iloc = findQuotedString(s, val);
|
||||
attribs[attr] = val;
|
||||
if (iloc != string::npos) {
|
||||
if (iloc < s.size()) {
|
||||
s = stripws(s.substr(iloc,s.size()));
|
||||
s = ba::trim_copy(s.substr(iloc,s.size()));
|
||||
} else {
|
||||
break;
|
||||
}
|
||||
|
|
@ -301,7 +301,7 @@ std::string XML_Reader::readValue()
|
|||
tag += ch;
|
||||
}
|
||||
}
|
||||
return stripws(tag);
|
||||
return ba::trim_copy(tag);
|
||||
}
|
||||
|
||||
////////////////////////// XML_Node /////////////////////////////////
|
||||
|
|
@ -443,7 +443,7 @@ void XML_Node::addValue(const std::string& val)
|
|||
|
||||
void XML_Node::addValue(const doublereal val, const std::string& fmt)
|
||||
{
|
||||
m_value = stripws(fmt::sprintf(fmt, val));
|
||||
m_value = ba::trim_copy(fmt::sprintf(fmt, val));
|
||||
}
|
||||
|
||||
std::string XML_Node::value() const
|
||||
|
|
|
|||
|
|
@ -173,8 +173,8 @@ double getElementWeight(const std::string& ename)
|
|||
{
|
||||
int numElements = numElementsDefined();
|
||||
int numIsotopes = numIsotopesDefined();
|
||||
string symbol = stripws(ename);
|
||||
string name = lowercase(stripws(ename));
|
||||
string symbol = ba::trim_copy(ename);
|
||||
string name = ba::to_lower_copy(symbol);
|
||||
for (int i = 0; i < numElements; i++) {
|
||||
if (symbol == atomicWeightTable[i].symbol) {
|
||||
return atomicWeightTable[i].atomicWeight;
|
||||
|
|
@ -205,7 +205,7 @@ string getElementSymbol(const std::string& ename)
|
|||
{
|
||||
int numElements = numElementsDefined();
|
||||
int numIsotopes = numIsotopesDefined();
|
||||
string name = lowercase(stripws(ename));
|
||||
string name = ba::to_lower_copy(ba::trim_copy(ename));
|
||||
for (int i = 0; i < numElements; i++) {
|
||||
if (name == atomicWeightTable[i].fullName) {
|
||||
return atomicWeightTable[i].symbol;
|
||||
|
|
@ -233,7 +233,7 @@ string getElementName(const std::string& ename)
|
|||
{
|
||||
int numElements = numElementsDefined();
|
||||
int numIsotopes = numIsotopesDefined();
|
||||
string symbol = stripws(ename);
|
||||
string symbol = ba::trim_copy(ename);
|
||||
for (int i = 0; i < numElements; i++) {
|
||||
if (symbol == atomicWeightTable[i].symbol) {
|
||||
return atomicWeightTable[i].fullName;
|
||||
|
|
@ -261,8 +261,8 @@ int getAtomicNumber(const std::string& ename)
|
|||
{
|
||||
int numElements = numElementsDefined();
|
||||
int numIsotopes = numIsotopesDefined();
|
||||
string symbol = stripws(ename);
|
||||
string name = lowercase(stripws(ename));
|
||||
string symbol = ba::trim_copy(ename);
|
||||
string name = ba::to_lower_copy(symbol);
|
||||
for (int i = 0; i < numElements; i++) {
|
||||
if (symbol == atomicWeightTable[i].symbol) {
|
||||
return i+1;
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue