From 33f04eb9cd9ac4a83e3283444a93080f5fc875ae Mon Sep 17 00:00:00 2001 From: madrocketsci Date: Thu, 30 Apr 2026 10:35:42 -0400 Subject: [PATCH] readme update --- README.md | 9 +++++++-- build_linux64/libamsstring4.linux64.a | Bin 1210112 -> 1210112 bytes .../objstore/amsstring4_convenience1.o | Bin 176344 -> 176344 bytes build_linux64/tests | Bin 2271856 -> 2271856 bytes include/amsstring4/amsstring4.hpp | 4 ++++ src/amsstring4/amsstring4_convenience1.cpp | 4 ++-- 6 files changed, 13 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index 2000c36..a14d743 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,8 @@ -# amscpptemplate25a +# amsstring4 + +std::strings are awkward. Also, you can never trust the standard library. std::vector anyone? + +This is a mutable ASCII/UTF-8 string class with every convenience feature I can think of added in, portability shims for MSVC, and support for converting to/from unicode codepoints. + +Depends on amsarrays from amsmathutil25 for handling arrays of strings. -Rearrange my C++ project template in an attempt to harmonize everything and modernize my build scripts. \ No newline at end of file diff --git a/build_linux64/libamsstring4.linux64.a b/build_linux64/libamsstring4.linux64.a index d5105425471a03f8eb029b8a7dd056731647a8a6..b3f7698f5c1f907c71afb7e67d8e943a9cb8afec 100644 GIT binary patch delta 68 zcmZp8=h*;6EsQNpEzB(}EvzkUE$l5EEu1Y}E!-_UExav!E&MG4TLfiPrvK<+=9#Xc TBFF<~wL7Q?Zg)@-IuHZ^B#IVG delta 68 zcmZp8=h*;6EsQNpEzB(}EvzkUE$l5EEu1Y}E!-_UExav!E&MG4TLfiPrd#wd^Gw%J T5##~0+8tB`w>zi^9S8yd2nrO- diff --git a/build_linux64/objstore/amsstring4_convenience1.o b/build_linux64/objstore/amsstring4_convenience1.o index f52bfc10ea7c6fe789162f0e2674c857fcc592ce..06818fb4fc1c0855d33f7303c59163040b366a3a 100644 GIT binary patch delta 47 ucmccdkn6@nu7)j)Ut%Ro7#SG;{D%NnK?X2j0g@%{ym5@%dE=N)2LS*K@e+~% delta 47 ucmccdkn6@nu7)j)Ut%TG7#SG;{D%NnK?X2j0g`F$ym5@%dE=N)2LS*IZ4!0> diff --git a/build_linux64/tests b/build_linux64/tests index d53356e5a3b5afd530694f00d2c6ac7153f11144..eadb4ddc2b1c15da231aace64d5bb60fd02f7d5d 100644 GIT binary patch delta 188 zcmWN=yAHun9Khl9?^0EF$Gs@C)#52^a%QV%Xd(uQPGad|>tc|c#NY)?HsL)^AHnZS zzU+5$G8!W)QLC%B*e1I;UEaTMlb*Hvc!|G}TXgy8K;r0N_0ejF!W{D~ut=9BdMwjt jg;myAXM;_)*rsBKUG~`LfJ2TLaLfs(3^{vRJ>ReYE<#tV delta 188 zcmWN=yAHu%7=YpQb5=#EW9!sTX4hc1$v?XQi>0G splitwhitespace(const amsstring &s); amsstring stripwhitespace(const amsstring &s); amsstring stripallwhitespace(const amsstring &s); +//splits a string into contiguous sets of alphanumeric characters ignoring non-alphanums +amsarray splitalphanum(const amsstring &s); // + + //splits into two guaranteed pieces //if an extension separator . is not encountered, the first piece will contain the entire string, the second "" amsarray splitext(const amsstring &s); diff --git a/src/amsstring4/amsstring4_convenience1.cpp b/src/amsstring4/amsstring4_convenience1.cpp index efb473a..651c703 100644 --- a/src/amsstring4/amsstring4_convenience1.cpp +++ b/src/amsstring4/amsstring4_convenience1.cpp @@ -379,8 +379,8 @@ amsarray splitpath(const amsstring &s) ret.resize(2); int ind1,ind2; - ind1 = s.find('/'); - ind2 = s.find('\\'); + ind1 = s.findright('/'); + ind2 = s.findright('\\'); if(ind1>=0) { if(ind1==0)