13#ifndef ARGUMENTPARSER_HPP_
14#define ARGUMENTPARSER_HPP_
29 char** argumentCharArrays,
30 std::string
const inputTag =
"",
31 std::string
const fallbackInputFilename =
"" );
36 std::string
const defaultReturnString =
"" )
const;
41 fromTag( std::string
const& tagString,
42 std::string
const defaultReturnString =
"" );
60 std::string
const defaultReturnString )
const
65 for( std::vector< std::string >::const_iterator
66 whichArgument( argumentStrings.begin() );
67 argumentStrings.end() > whichArgument;
70 if( 0 == whichArgument->compare( 0,
74 return whichArgument->substr( argumentName.size() );
77 return defaultReturnString;
82 std::string
const defaultReturnString )
88 std::string argumentString(
"--" );
89 argumentString.append( tagString );
90 argumentString.append(
"=" );
91 argumentString.assign(
fromLiteral( argumentString ) );
92 if( !(argumentString.empty()) )
94 return argumentString;
106 return defaultReturnString;
AsciiXmlParser inputXmlParser
std::string fromTag(std::string const &tagString, std::string const defaultReturnString="")
ArgumentParser(int argumentCount, char **argumentCharArrays, std::string const inputTag="", std::string const fallbackInputFilename="")
std::string fromLiteral(std::string const &argumentName, std::string const defaultReturnString="") const
std::vector< std::string > argumentStrings
void returnToBeginningOfText()
std::string const & getCurrentElementContent() const
bool currentElementNameMatches(std::string const &comparisonString) const
static std::string const whitespaceAndNewlineChars
static std::string trimFromFrontAndBack(std::string const &stringToTrim, std::string const &charsToTrim=whitespaceAndNewlineChars)