#include "mothur.h"
+/***********************************************/
+struct logger {
+
+ logger() {}
+ ~logger() {}
+
+ template< class T >
+ logger& operator <<( const T& o ) {
+ cout << o; return *this;
+ }
+
+ logger& operator<<(ostream& (*m)(ostream&) ) {
+ cout << m; return *this;
+ }
+
+};
/***********************************************/
class MothurOut {
vector<string> binLabelsInFile;
vector<string> currentBinLabels;
string saveNextLabel, argv, sharedHeaderMode;
- bool printedHeaders;
+ bool printedHeaders, commandInputsConvertError;
//functions from mothur.h
//file operations
int readNames(string, map<string, vector<string> >&);
int readNames(string, vector<seqPriorityNode>&, map<string, string>&);
int mothurRemove(string);
+ bool mothurConvert(string, int&); //use for converting user inputs. Sets commandInputsConvertError to true if error occurs. Engines check this.
+ bool mothurConvert(string, float&); //use for converting user inputs. Sets commandInputsConvertError to true if error occurs. Engines check this.
+ bool mothurConvert(string, double&); //use for converting user inputs. Sets commandInputsConvertError to true if error occurs. Engines check this.
//searchs and checks
int getNumChar(string, char);
bool isTrue(string);
bool isContainingOnlyDigits(string);
+ bool isNumeric1(string);
//string manipulation
int getRandomIndex(int); //highest
int control_pressed;
- bool executing, runParse, jumble, gui;
+ bool executing, runParse, jumble, gui, mothurCalling;
//current files - if you add a new type you must edit optionParser->getParameters, get.current command and mothurOut->printCurrentFiles/clearCurrentFiles.
string getPhylipFile() { return phylipfile; }
flowfile = "";
gui = false;
printedHeaders = false;
+ commandInputsConvertError = false;
+ mothurCalling = false;
sharedHeaderMode = "";
}
~MothurOut();