return *input_cur_location;
}
- char get_next_char(const char * end_stream)
+
+ char get_next_char(const char* end_stream)
{
- if (input_cur_location >= end_stream)
+ input_cur_location++;
+
+ if(input_cur_location >= end_stream)
+ {
return 0;
+ }
- input_cur_location++;
return *input_cur_location;
}
//TODO for better performance to use template specialization (\n \ , ")
do
{
+ if (p.currentLoc() >= end_stream)
+ {
+ break;
+ }
+
if (p.get_char() == m_row_delimeter)
{
p.process_event(event_eol());
return -1;
}
- if (p.currentLoc() >= end_stream)
- {
- break;
- }
p.get_next_char(end_stream);
+
}
while (p.current_state()[0] != 6);