ENH: add offset support to stringOps::split functions
- for example, string buffer = ...; SubStrings<string> split; { auto colon = buffer.find(':'); if (colon != std::string::npos) { split = stringOps::splitSpace(buffer, colon+1); } } Not really possible with a substr() since that would create a new temporary which then disappears. Similarly awkward to split and then scan for the ':' to decide how many to discard. ENH: add pop_front() and pop_back() methods to SubStrings - the content is trivial enough (a pair of iterators) and the total number of elements is usually reasonable short so that removal of elements is inexpensive For example, string buffer = ...; auto split = stringOps::splitSpace(buffer); if (!split.empty() && split[0].str() == "face") { split.pop_front(); }
Showing
- applications/test/cstring/Test-cstring.cxx 1 addition, 1 deletionapplications/test/cstring/Test-cstring.cxx
- applications/test/fileHandler-ranks1/Test-fileHandler-ranks1.C 1 addition, 1 deletion...cations/test/fileHandler-ranks1/Test-fileHandler-ranks1.C
- applications/test/string/Test-string.C 1 addition, 1 deletionapplications/test/string/Test-string.C
- applications/test/stringSplit/Test-stringSplit.C 31 additions, 8 deletionsapplications/test/stringSplit/Test-stringSplit.C
- src/OpenFOAM/global/fileOperations/fileOperation/fileOperationRanks.C 1 addition, 1 deletion.../global/fileOperations/fileOperation/fileOperationRanks.C
- src/OpenFOAM/primitives/ranges/scalarRange/scalarRanges.C 1 addition, 1 deletionsrc/OpenFOAM/primitives/ranges/scalarRange/scalarRanges.C
- src/OpenFOAM/primitives/strings/lists/SubStrings.H 35 additions, 7 deletionssrc/OpenFOAM/primitives/strings/lists/SubStrings.H
- src/OpenFOAM/primitives/strings/stringOps/stringOps.H 28 additions, 13 deletionssrc/OpenFOAM/primitives/strings/stringOps/stringOps.H
- src/OpenFOAM/primitives/strings/stringOps/stringOpsTemplates.C 73 additions, 50 deletions...penFOAM/primitives/strings/stringOps/stringOpsTemplates.C
- src/meshTools/edgeMesh/edgeFormats/obj/OBJedgeFormat.C 1 addition, 1 deletionsrc/meshTools/edgeMesh/edgeFormats/obj/OBJedgeFormat.C
- src/surfMesh/surfaceFormats/nas/NASsurfaceFormat.C 2 additions, 1 deletionsrc/surfMesh/surfaceFormats/nas/NASsurfaceFormat.C
- src/surfMesh/surfaceFormats/obj/OBJsurfaceFormat.C 1 addition, 1 deletionsrc/surfMesh/surfaceFormats/obj/OBJsurfaceFormat.C
Please register or sign in to comment