40 if ( str.contains(
',' ) )
51 const thread_local QRegularExpression partsRx( QStringLiteral(
"((?:.*?),(?:.*?),(?:(?:\\d+,)+)?(?:\\d+);)" ) );
52 QRegularExpressionMatchIterator partsIt = partsRx.globalMatch( str +
';' );
54 while ( partsIt.hasNext() )
56 const QRegularExpressionMatch partMatch = partsIt.next();
57 const QString tuple = partMatch.captured( 1 );
62 const thread_local QRegularExpression rx( QStringLiteral(
"(.*?),(.*?),((?:\\d+,)+)?(\\d+)" ) );
64 const QRegularExpressionMatch match = rx.match( tuple );
65 if ( !match.hasMatch() )
68 const QString layerId = match.captured( 1 );
69 const QString symbolKey = match.captured( 2 );
70 const QStringList indices = QString( match.captured( 3 ) + match.captured( 4 ) ).split(
',' );
72 QVector<int> indexPath;
73 indexPath.reserve( indices.size() );
74 for (
const QString &index : indices )
76 indexPath.append( index.toInt() );
84 const QStringList elems = str.split(
';' );
85 for (
int i = 0; i < elems.size(); )