46 LineReader(iStream, oStream), iStream_(iStream), oStream_(oStream),
47 promptPrinting_(true) {
98 std::string msg =
"LineReader not initialized.";
102 std::string origPrompt =
prompt_;
115 "End of file from input stream or input stream in bad state.";
133 std::string question, std::string allowedChars,
bool caseSensitive,
134 char defaultAnswer) {
136 std::string method =
"BaseLineReader::charQuestion()";
137 std::string msg =
"LineReader not initialized.";
141 std::string origPrompt =
prompt_;
147 if (defaultAnswer ==
'\0') {
152 allowedChars, answer, caseSensitive) &&
162 return defaultAnswer;
#define assert(condition)
virtual char charQuestion(std::string question, std::string allowedChars, bool caseSensitive=false, char defaultAnswer='\0')
virtual std::string readLine(std::string prompt="")
std::istream & iStream_
Input stream.
virtual void setPromptPrinting(bool flag)
static const int MAX_LINE_LENGTH
std::string prompt_
Prompt of the reader.
virtual ~BaseLineReader()
std::ostream & oStream_
Output stream.
bool promptPrinting_
Prompt printing flag.
virtual void initialize(std::string defPrompt="", FILE *in=stdin, FILE *out=stdout, FILE *err=stderr)
BaseLineReader(std::istream &iStream=std::cin, std::ostream &oStream=std::cout)