Commit 20ef79a1 by Maarten L. Hekkelman

for c++17, limited version of std::string_view

parent b55e074d
...@@ -416,7 +416,7 @@ sac_parser::CIFToken sac_parser::get_next_token() ...@@ -416,7 +416,7 @@ sac_parser::CIFToken sac_parser::get_next_token()
else if (ch == ';') else if (ch == ';')
{ {
assert(m_token_buffer.size() >= 2); assert(m_token_buffer.size() >= 2);
m_token_value = std::string_view(m_token_buffer.data() + 1, m_token_buffer.data() + m_token_buffer.size() - 2); m_token_value = std::string_view(m_token_buffer.data() + 1, m_token_buffer.size() - 3);
// mTokenType = CIFValue::TextField; // mTokenType = CIFValue::TextField;
result = CIFToken::Value; result = CIFToken::Value;
} }
...@@ -445,7 +445,7 @@ sac_parser::CIFToken sac_parser::get_next_token() ...@@ -445,7 +445,7 @@ sac_parser::CIFToken sac_parser::get_next_token()
if (m_token_buffer.size() < 2) if (m_token_buffer.size() < 2)
error("Invalid quoted string token"); error("Invalid quoted string token");
m_token_value = std::string_view(m_token_buffer.data() + 1, m_token_buffer.data() + m_token_buffer.size() - 1); m_token_value = std::string_view(m_token_buffer.data() + 1, m_token_buffer.size() - 2);
} }
else if (ch == quoteChar) else if (ch == quoteChar)
; ;
...@@ -462,7 +462,7 @@ sac_parser::CIFToken sac_parser::get_next_token() ...@@ -462,7 +462,7 @@ sac_parser::CIFToken sac_parser::get_next_token()
{ {
retract(); retract();
result = CIFToken::Tag; result = CIFToken::Tag;
m_token_value = std::string_view(m_token_buffer.data(), m_token_buffer.data() + m_token_buffer.size()); m_token_value = std::string_view(m_token_buffer.data(), m_token_buffer.size());
} }
break; break;
...@@ -490,7 +490,7 @@ sac_parser::CIFToken sac_parser::get_next_token() ...@@ -490,7 +490,7 @@ sac_parser::CIFToken sac_parser::get_next_token()
retract(); retract();
result = CIFToken::Value; result = CIFToken::Value;
// mTokenType = CIFValue::Int; // mTokenType = CIFValue::Int;
m_token_value = std::string_view(m_token_buffer.data(), m_token_buffer.data() + m_token_buffer.size()); m_token_value = std::string_view(m_token_buffer.data(), m_token_buffer.size());
} }
else else
state = start = restart(start); state = start = restart(start);
...@@ -505,7 +505,7 @@ sac_parser::CIFToken sac_parser::get_next_token() ...@@ -505,7 +505,7 @@ sac_parser::CIFToken sac_parser::get_next_token()
retract(); retract();
result = CIFToken::Value; result = CIFToken::Value;
// mTokenType = CIFValue::Float; // mTokenType = CIFValue::Float;
m_token_value = std::string_view(m_token_buffer.data(), m_token_buffer.data() + m_token_buffer.size()); m_token_value = std::string_view(m_token_buffer.data(), m_token_buffer.size());
} }
else else
state = start = restart(start); state = start = restart(start);
...@@ -534,7 +534,7 @@ sac_parser::CIFToken sac_parser::get_next_token() ...@@ -534,7 +534,7 @@ sac_parser::CIFToken sac_parser::get_next_token()
retract(); retract();
result = CIFToken::Value; result = CIFToken::Value;
// mTokenType = CIFValue::Float; // mTokenType = CIFValue::Float;
m_token_value = std::string_view(m_token_buffer.data(), m_token_buffer.data() + m_token_buffer.size()); m_token_value = std::string_view(m_token_buffer.data(), m_token_buffer.size());
} }
else else
state = start = restart(start); state = start = restart(start);
...@@ -553,7 +553,7 @@ sac_parser::CIFToken sac_parser::get_next_token() ...@@ -553,7 +553,7 @@ sac_parser::CIFToken sac_parser::get_next_token()
retract(); retract();
result = CIFToken::Value; result = CIFToken::Value;
// mTokenType = CIFValue::Int; // mTokenType = CIFValue::Int;
m_token_value = std::string_view(m_token_buffer.data(), m_token_buffer.data() + m_token_buffer.size()); m_token_value = std::string_view(m_token_buffer.data(), m_token_buffer.size());
} }
else else
state = start = restart(start); state = start = restart(start);
...@@ -571,7 +571,7 @@ sac_parser::CIFToken sac_parser::get_next_token() ...@@ -571,7 +571,7 @@ sac_parser::CIFToken sac_parser::get_next_token()
case reserved_words_automaton::data: case reserved_words_automaton::data:
retract(); retract();
m_token_value = std::string_view(m_token_buffer.data() + 5, m_token_buffer.data() + m_token_buffer.size()); m_token_value = std::string_view(m_token_buffer.data() + 5, m_token_buffer.size() - 5);
result = CIFToken::DATA; result = CIFToken::DATA;
break; break;
...@@ -592,7 +592,7 @@ sac_parser::CIFToken sac_parser::get_next_token() ...@@ -592,7 +592,7 @@ sac_parser::CIFToken sac_parser::get_next_token()
case reserved_words_automaton::save_plus: case reserved_words_automaton::save_plus:
retract(); retract();
m_token_value = std::string_view(m_token_buffer.data() + 5, m_token_buffer.data() + m_token_buffer.size()); m_token_value = std::string_view(m_token_buffer.data() + 5, m_token_buffer.size() - 5);
result = CIFToken::SAVE_NAME; result = CIFToken::SAVE_NAME;
break; break;
...@@ -682,7 +682,7 @@ sac_parser::CIFToken sac_parser::get_next_token() ...@@ -682,7 +682,7 @@ sac_parser::CIFToken sac_parser::get_next_token()
{ {
retract(); retract();
result = CIFToken::Value; result = CIFToken::Value;
m_token_value = std::string_view(m_token_buffer.data(), m_token_buffer.data() + m_token_buffer.size()); m_token_value = std::string_view(m_token_buffer.data(), m_token_buffer.size());
break; break;
} }
break; break;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment