X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2Fmathed%2Fmath_extern.C;h=99e381d78aaf7cee47c9e96e39c52135d44a4582;hb=07cc9f67534474b167ca1ea727bda643fdd8d197;hp=4ad4ea65276c750c163104714836f8e5f9609fa0;hpb=4c6e0fe4226ce3b55d13726977f1e579f17c2ad1;p=lyx.git diff --git a/src/mathed/math_extern.C b/src/mathed/math_extern.C index 4ad4ea6527..99e381d78a 100644 --- a/src/mathed/math_extern.C +++ b/src/mathed/math_extern.C @@ -38,14 +38,21 @@ #include -using namespace lyx::support; +using lyx::support::cmd_ret; +using lyx::support::getVectorFromString; +using lyx::support::LibFileSearch; +using lyx::support::RunCommand; +using lyx::support::subst; +using std::string; using std::endl; using std::find_if; - +using std::auto_ptr; using std::istringstream; using std::ostream; using std::ostringstream; +using std::swap; +using std::vector; ostream & operator<<(ostream & os, MathArray const & ar) @@ -141,7 +148,7 @@ string charSequence void extractStrings(MathArray & ar) { //lyxerr << "\nStrings from: " << ar << endl; - for (MathArray::size_type i = 0; i < ar.size(); ++i) { + for (size_t i = 0; i < ar.size(); ++i) { if (!ar[i]->asCharInset()) continue; string s = charSequence(ar.begin() + i, ar.end()); @@ -156,7 +163,7 @@ void extractMatrices(MathArray & ar) { //lyxerr << "\nMatrices from: " << ar << endl; // first pass for explicitly delimited stuff - for (MathArray::size_type i = 0; i < ar.size(); ++i) { + for (size_t i = 0; i < ar.size(); ++i) { if (!ar[i]->asDelimInset()) continue; MathArray const & arr = ar[i]->asDelimInset()->cell(0); @@ -168,7 +175,7 @@ void extractMatrices(MathArray & ar) } // second pass for AMS "pmatrix" etc - for (MathArray::size_type i = 0; i < ar.size(); ++i) + for (size_t i = 0; i < ar.size(); ++i) if (ar[i]->asAMSArrayInset()) ar[i] = MathAtom(new MathMatrixInset(*(ar[i]->asGridInset()))); //lyxerr << "\nMatrices to: " << ar << endl; @@ -244,7 +251,7 @@ void replaceNested( { // use indices rather than iterators for the loop because we are going // to modify the array. - for (MathArray::size_type i = 0; i < ar.size(); ++i) { + for (size_t i = 0; i < ar.size(); ++i) { // check whether this is the begin of the sequence if (!testOpen(ar[i])) continue; @@ -271,7 +278,7 @@ void replaceNested( void splitScripts(MathArray & ar) { //lyxerr << "\nScripts from: " << ar << endl; - for (MathArray::size_type i = 0; i < ar.size(); ++i) { + for (size_t i = 0; i < ar.size(); ++i) { // is this script inset? if (!ar[i]->asScriptInset()) continue; @@ -284,13 +291,13 @@ void splitScripts(MathArray & ar) // create extra script inset and move superscript over MathScriptInset * p = ar[i].nucleus()->asScriptInset(); - MathScriptInset * q = new MathScriptInset(true); - std::swap(q->up(), p->up()); + auto_ptr q(new MathScriptInset(true)); + swap(q->up(), p->up()); p->removeScript(true); // insert new inset behind ++i; - ar.insert(i, MathAtom(q)); + ar.insert(i, MathAtom(q.release())); } //lyxerr << "\nScripts to: " << ar << endl; } @@ -303,7 +310,7 @@ void splitScripts(MathArray & ar) void extractExps(MathArray & ar) { //lyxerr << "\nExps from: " << ar << endl; - for (MathArray::size_type i = 0; i + 1 < ar.size(); ++i) { + for (size_t i = 0; i + 1 < ar.size(); ++i) { // is this 'e'? if (ar[i]->getChar() != 'e') continue; @@ -366,7 +373,7 @@ string digitSequence void extractNumbers(MathArray & ar) { //lyxerr << "\nNumbers from: " << ar << endl; - for (MathArray::size_type i = 0; i < ar.size(); ++i) { + for (size_t i = 0; i < ar.size(); ++i) { if (!ar[i]->asCharInset()) continue; if (!isDigitOrSimilar(ar[i]->asCharInset()->getChar())) @@ -428,7 +435,7 @@ void extractFunctions(MathArray & ar) return; //lyxerr << "\nFunctions from: " << ar << endl; - for (MathArray::size_type i = 0; i + 1 < ar.size(); ++i) { + for (size_t i = 0; i + 1 < ar.size(); ++i) { MathArray::iterator it = ar.begin() + i; MathArray::iterator jt = it + 1; @@ -459,13 +466,13 @@ void extractFunctions(MathArray & ar) extractScript(exp, jt, ar.end()); // create a proper inset as replacement - MathExFuncInset * p = new MathExFuncInset(name); + auto_ptr p(new MathExFuncInset(name)); // jt points to the "argument". Get hold of this. MathArray::iterator st = extractArgument(p->cell(0), jt, ar.end()); // replace the function name by a real function inset - *it = MathAtom(p); + *it = MathAtom(p.release()); // remove the source of the argument from the array ar.erase(it + 1, st); @@ -519,7 +526,7 @@ void extractIntegrals(MathArray & ar) return; //lyxerr << "\nIntegrals from: " << ar << endl; - for (MathArray::size_type i = 0; i + 1 < ar.size(); ++i) { + for (size_t i = 0; i + 1 < ar.size(); ++i) { MathArray::iterator it = ar.begin() + i; // search 'd' @@ -535,7 +542,7 @@ void extractIntegrals(MathArray & ar) continue; // core ist part from behind the scripts to the 'd' - MathExIntInset * p = new MathExIntInset("int"); + auto_ptr p(new MathExIntInset("int")); // handle scripts if available if (!testIntSymbol(*it)) { @@ -549,7 +556,7 @@ void extractIntegrals(MathArray & ar) // remove used parts ar.erase(it + 1, tt); - *it = MathAtom(p); + *it = MathAtom(p.release()); } //lyxerr << "\nIntegrals to: " << ar << endl; } @@ -591,7 +598,7 @@ void extractSums(MathArray & ar) return; //lyxerr << "\nSums from: " << ar << endl; - for (MathArray::size_type i = 0; i + 1 < ar.size(); ++i) { + for (size_t i = 0; i + 1 < ar.size(); ++i) { MathArray::iterator it = ar.begin() + i; // is this a sum name? @@ -599,7 +606,7 @@ void extractSums(MathArray & ar) continue; // create a proper inset as replacement - MathExIntInset * p = new MathExIntInset("sum"); + auto_ptr p(new MathExIntInset("sum")); // collect lower bound and summation index MathScriptInset const * sub = ar[i]->asScriptInset(); @@ -628,7 +635,7 @@ void extractSums(MathArray & ar) // cleanup ar.erase(it + 1, tt); - *it = MathAtom(p); + *it = MathAtom(p.release()); } //lyxerr << "\nSums to: " << ar << endl; } @@ -663,7 +670,7 @@ bool testDiffFrac(MathAtom const & at) void extractDiff(MathArray & ar) { //lyxerr << "\nDiffs from: " << ar << endl; - for (MathArray::size_type i = 0; i < ar.size(); ++i) { + for (size_t i = 0; i < ar.size(); ++i) { MathArray::iterator it = ar.begin() + i; // is this a "differential fraction"? @@ -677,7 +684,7 @@ void extractDiff(MathArray & ar) } // create a proper diff inset - MathDiffInset * diff = new MathDiffInset; + auto_ptr diff(new MathDiffInset); // collect function, let jt point behind last used item MathArray::iterator jt = it + 1; @@ -726,7 +733,7 @@ void extractDiff(MathArray & ar) // cleanup ar.erase(it + 1, jt); - *it = MathAtom(diff); + *it = MathAtom(diff.release()); } //lyxerr << "\nDiffs to: " << ar << endl; } @@ -753,7 +760,7 @@ void extractLims(MathArray & ar) return; //lyxerr << "\nLimits from: " << ar << endl; - for (MathArray::size_type i = 0; i + 2 < ar.size(); ++i) { + for (size_t i = 0; i + 2 < ar.size(); ++i) { MathArray::iterator it = ar.begin() + i; // is this a limit function? @@ -934,7 +941,7 @@ namespace { ostringstream os; MaximaStream ms(os); ms << ar; - string expr = STRCONV(os.str()); + string expr = os.str(); string const header = "SIMPSUM:true;"; string out; @@ -977,7 +984,7 @@ namespace { expr.insert(pos, "*"); } - std::vector tmp = getVectorFromString(out, "$$"); + vector tmp = getVectorFromString(out, "$$"); if (tmp.size() < 2) return MathArray(); @@ -1057,7 +1064,7 @@ namespace { ostringstream os; MapleStream ms(os); ms << ar; - string expr = STRCONV(os.str()); + string expr = os.str(); lyxerr << "ar: '" << ar << "'\n" << "ms: '" << os.str() << "'" << endl; @@ -1105,7 +1112,7 @@ namespace { ostringstream os; OctaveStream vs(os); vs << ar; - string expr = STRCONV(os.str()); + string expr = os.str(); string out; lyxerr << "pipe: ar: '" << ar << "'\n" @@ -1189,7 +1196,7 @@ MathArray pipeThroughExtern(string const & lang, string const & extra, os << '[' << extra << ' '; ns << ar; os << ']'; - string data = STRCONV(os.str()); + string data = os.str(); // search external script string file = LibFileSearch("mathed", "extern_" + lang);