added SymbolString(SymbolString), optimized
This commit is contained in:
+13
-2
@@ -48,7 +48,7 @@ static const unsigned char CRC_LOOKUP_TABLE[] =
|
||||
};
|
||||
|
||||
|
||||
SymbolString::SymbolString(const string str)
|
||||
SymbolString::SymbolString(const string& str)
|
||||
: m_unescapeState(0), m_crc(0)
|
||||
{
|
||||
// parse + escape
|
||||
@@ -60,7 +60,18 @@ SymbolString::SymbolString(const string str)
|
||||
push_back(m_crc, false, false);
|
||||
}
|
||||
|
||||
SymbolString::SymbolString(const string str, bool isEscaped)
|
||||
SymbolString::SymbolString(const SymbolString& str)
|
||||
: m_unescapeState(0), m_crc(0)
|
||||
{
|
||||
// escape
|
||||
for (size_t i = 0; i < str.size(); i++) {
|
||||
push_back(str[i], false, true);
|
||||
}
|
||||
// add CRC + escape
|
||||
push_back(m_crc, false, false);
|
||||
}
|
||||
|
||||
SymbolString::SymbolString(const string& str, bool isEscaped)
|
||||
: m_unescapeState(1), m_crc(0)
|
||||
{
|
||||
// parse + optionally unescape
|
||||
|
||||
@@ -50,13 +50,18 @@ public:
|
||||
* @brief Creates a new escaped instance from an unescaped hex string and adds the calculated CRC.
|
||||
* @param str the unescaped hex string.
|
||||
*/
|
||||
SymbolString(const string str);
|
||||
SymbolString(const string& str);
|
||||
/**
|
||||
* @brief Creates a new escaped instance from an unescaped @a SymbolString and adds the calculated CRC.
|
||||
* @param str the unescaped SymbolString.
|
||||
*/
|
||||
SymbolString(const SymbolString& str);
|
||||
/**
|
||||
* @brief Creates a new unescaped instance from a hex string.
|
||||
* @param isEscaped whether the hex string is escaped and shall be unescaped.
|
||||
* @param str the hex string.
|
||||
*/
|
||||
SymbolString(const string str, const bool isEscaped);
|
||||
SymbolString(const string& str, const bool isEscaped);
|
||||
/**
|
||||
* @brief Returns the symbols as hex string.
|
||||
* @param unescape whether to unescape an escaped instance.
|
||||
|
||||
Reference in New Issue
Block a user