// ############################################################################ // // create_mz_kpp_module // // create scalar code from .f90 sources created by KPP to be used in MESSy // // COPYRIGHT Klaus Ketelsen and MPI-CH April 2007 // // ############################################################################ // // // Former revisions: // ----------------------- // Deleted $Id since document_changes does not work for C and C++ (15.03.2019, forkel) // // initial version (Nov. 2016, ketelsen) // mz_rs_20090111+ // stdlib is necessary to define abort(): #include // mz_rs_20090111- #include "utils.h" void string_token::fill_token (string s) { int ip,ib; string buf=s+" "; size_val = 0; tokens.clear(); position.clear(); // extract fields from buffer int i=0; int pos=0; while( 1 ) { while (1) { ib = buf.find(seperator,0); if(ib == string::npos) break; if(ib != 0) break; buf.erase(0,1); pos++; } ip = buf.find(seperator,0); if(ip == string::npos) break; tokens.push_back(buf.substr(0,ip)); position.push_back(pos); size_val++; buf.erase(0,ip); pos += ib; i++; } is = tokens.begin(); return; }; void my_abort (string s) { cout << "*** ERROR: " << s <