14#ifndef INTERPRETERTEMPLATE_HPP_
15#define INTERPRETERTEMPLATE_HPP_
19#include "../../../MEC/ExtendedMass.hpp"
25 namespace InterpreterClass
29 template<
class ValueType >
71 template<
class ValueType >
81 stringFromValue(
"no_string_interpretation_given" ),
82 valuePrintingString(
" no_string_interpretation_given" )
87 template<
class ValueType >
94 template<
class ValueType >
97 ValueType
const& defaultUnsetValue )
99 this->defaultUnsetValue = defaultUnsetValue;
102 template<
class ValueType >
106 this->isVerbose = isVerbose;
109 template<
class ValueType >
110 inline ValueType
const&
112 std::string
const& stringToConvert )
119 valueFromString.setFromString( stringToConvert );
120 return valueFromString;
126 std::string
const& stringToConvert )
131 return valueFromString;
137 std::string
const& stringToConvert )
142 return valueFromString;
146 inline std::pair< double, double >
const&
148 std::string
const& stringToConvert )
154 &(this->lineRemainderA),
156 valueFromString.first
158 valueFromString.second
160 return valueFromString;
164 inline std::string
const&
166 std::string
const& stringToConvert )
170 valueFromString.assign( stringToConvert );
171 return valueFromString;
197 template<
class ValueType >
198 inline std::string
const&
200 ValueType
const& valueToConvert )
206 stringFromValue.assign( valueToConvert.getAsString() );
207 return stringFromValue;
211 inline std::string
const&
221 return stringFromValue;
225 inline std::string
const&
227 double const& valueToConvert )
231 stringFromValue.assign( slhaDoubleMaker.doubleToString(
233 return stringFromValue;
237 inline std::string
const&
239 std::pair< double, double >
const& valueToConvert )
243 stringFromValue.assign( slhaDoubleMaker.doubleToString(
244 valueToConvert.first ) );
245 stringFromValue.append(
" " );
246 stringFromValue.append( slhaDoubleMaker.doubleToString(
247 valueToConvert.second ) );
248 return stringFromValue;
252 inline std::string
const&
254 std::string
const& valueToConvert )
258 stringFromValue.assign( valueToConvert );
259 return stringFromValue;
284 template<
class ValueType >
285 inline std::string
const&
287 ValueType
const& valueToPrint )
291 valuePrintingString.assign(
" " );
292 valuePrintingString.append( this->valueToString( valueToPrint ) );
293 return valuePrintingString;
static std::string firstWordOf(std::string const &stringToParse, std::string *const remainderString=NULL, std::string const &separatorChars=whitespaceChars)
static std::string const whitespaceAndNewlineChars
static double stringToDouble(std::string const &stringToInterpret)
static std::string intToString(int inputInt, int const minimumNumberOfDigits, std::string const prefixForPositiveNumbers="+", std::string const prefixForNegativeNumbers="-", char const paddingChar='0')
static int stringToInt(std::string const &stringToInterpret)
std::string stringFromValue
virtual ~InterpreterTemplate()
ValueType defaultUnsetValue
std::string valuePrintingString
std::string lineRemainderA
ValueType const & stringToValue(std::string const &stringToConvert)
std::string lineRemainderB
std::string const & valueToString(ValueType const &valueToConvert)
std::string const & valueToPrintingString(ValueType const &valueToPrint)
virtual void setVerbosity(bool const isVerbose)
virtual void setDefaultUnsetValue(ValueType const &defaultUnsetValue)
ValueType valueFromString