38 if (
str.contains(
',' ) )
49 const thread_local QRegularExpression partsRx( QStringLiteral(
"((?:.*?),(?:.*?),(?:(?:\\d+,)+)?(?:\\d+);)" ) );
50 QRegularExpressionMatchIterator partsIt = partsRx.globalMatch(
str +
';' );
52 while ( partsIt.hasNext() )
54 const QRegularExpressionMatch partMatch = partsIt.next();
55 const QString tuple = partMatch.captured( 1 );
60 const thread_local QRegularExpression rx( QStringLiteral(
"(.*?),(.*?),((?:\\d+,)+)?(\\d+)" ) );
62 const QRegularExpressionMatch match = rx.match( tuple );
63 if ( !match.hasMatch() )
66 const QString layerId = match.captured( 1 );
67 const QString symbolKey = match.captured( 2 );
68 const QStringList indices = QString( match.captured( 3 ) + match.captured( 4 ) ).split(
',' );
70 QVector<int> indexPath;
71 indexPath.reserve( indices.size() );
72 for (
const QString &index : indices )
74 indexPath.append( index.toInt() );
82 const QStringList elems =
str.split(
';' );
83 for (
int i = 0; i < elems.size(); )