Commit Graph

34 Commits

Author SHA1 Message Date
scc%mozilla.org
85aa1f07df In an assignment, |SetLength(0); SetLength(newLength);| so that the implementation won't bother to copy any old characters if allocation is required. Fiddled with inlining to reduce bloat ... more experiments needed. 2000-06-11 01:02:12 +00:00
scc%mozilla.org
a59a36aebd VisualAge doesn't like declarations in if/for expressions. r=waterson 2000-06-02 22:35:01 +00:00
scc%mozilla.org
c54f63178e Exploiting a user-defined |operator->()| when the result is a pointer to a primitive type is problematic for the OS/2 VisualAge compiler. Eliminate such uses in the new string facilities. r=waterson 2000-06-01 06:01:18 +00:00
scc%mozilla.org
80e3b6a3ae Bug #39686. Made an |NS_COUNT|. Put it in the new file "nsAlgorithm.h", to which I also moved |NS_MIN| and |NS_MAX| from "nscore.h", and |copy_string| and |copy_string_backward| from "nsAReadableString.h". Also fixed non-standard include-guards. r={sford, jag} 2000-05-20 20:43:26 +00:00
scc%mozilla.org
4814477a24 Checking in patch from Jim Dunn to fix platform bustage on HPUX. In fact, this is the way the code should have been written in the first place due to the C++ standard section 14.6.2(3). Members of the template base class just aren't visible without explicit scoping of some form, typically |this->|. r=scc 2000-05-20 18:19:27 +00:00
scc%netscape.com
fbfcb9d94b fixed a problem with cut and advancing past the end of a string with an iterator r=waterson 2000-05-16 10:13:23 +00:00
waterson%netscape.com
c9c47efc3c Remove #ifdef that's no longer necessary now that STL headers aren't included. 2000-05-14 00:14:19 +00:00
scc%netscape.com
5bd4efd8d4 waterson and I are giving up on the current build being allowed to even include files related to STL, mostly (but not only) because of Solaris ... by the time someone want to _use_ STL, maybe the compilers will be better, and this fix won't effect them. 2000-05-13 23:59:49 +00:00
scc%netscape.com
e55217832f getting ready to turn this stuff on, changes related to that: empty strings specified with null pointer, a couple of other fixes. 2000-05-13 20:17:35 +00:00
scc%netscape.com
d3d0b85749 Changed some comments 2000-05-12 05:17:51 +00:00
scc%netscape.com
bf109dc6c9 making promises work 2000-04-27 20:01:28 +00:00
scc%netscape.com
342581ae7f added |nsWritingIterator<T>::write| to satisfy the char-source/char-sink stuff beard and I put in. 2000-04-21 01:19:40 +00:00
scc%netscape.com
63a7e424bf Added signatures to prevent automatic incorrect promotion of |char| to |PRUnichar| 2000-04-14 23:20:31 +00:00
waterson%netscape.com
2831f7bd1b Add |operator!=()| implementation, conditioned on HAVE_CPP_UNAMBIGUOUS_STD_NOTEQUAL. r=scc 2000-04-04 06:42:59 +00:00
scc%netscape.com
8e418b816c make appending a single character faster for rickg 2000-04-04 03:06:15 +00:00
scc%netscape.com
85ed3b0e46 incremental changes. We're getting closer. These files are not yet part of the build. 2000-03-30 22:53:41 +00:00
scc%netscape.com
6c955bebcd rename |string_copy| and |string_copy_backward| to |copy_string| and |copy_string_backward| 2000-03-29 00:54:12 +00:00
scc%netscape.com
0ac1f0ce94 traded in |copy_chunky_backward| for |string_copy_backward| and moved it to "nsAReadableString.h" along with the |string_copy|s. Added tests for |SetLength|, which would have caught the problem in |nsString| I fixed earlier, and one for |Insert| that exposed the trouble in |copy_chunky_backward|. 2000-03-27 09:06:37 +00:00
scc%netscape.com
b0b8c5e18f Incremental changes. These files are not yet part of the build. 2000-03-25 00:47:02 +00:00
scc%netscape.com
402f35dfcd Lots of changes to get this stuff building on Solaris, et al. None of these changes effect the mainline build yet, and won't until |NEW_STRING_APIS| is defined for everyone (coming soon) 2000-03-24 22:06:57 +00:00
waterson%netscape.com
79a9a8b12c Fully qualify ReadingIterator when used inside template (so it compiles on egcs-1.1.2). r=scc 2000-03-24 06:02:59 +00:00
waterson%netscape.com
dcfe6275d6 Use NS_MIN and NS_MAX instead of std::min and std::max. r=scc 2000-03-24 00:39:44 +00:00
scc%netscape.com
045cc4e9ba resolving ambiguities; getting the new string APIs to build everywhere 2000-03-23 22:42:34 +00:00
scc%netscape.com
7d2d0cf608 Added "nsCharTraits.h"; no longer relying on |std::char_traits|. Renamed some things so overloading wouldn't fight with overriding. 2000-03-23 21:15:01 +00:00
scc%netscape.com
2f1956e29f Getting rid of warnings. These files are not yet part of the build. 2000-03-22 22:51:18 +00:00
scc%netscape.com
9d360e3ad0 Made critical operations exploit chunky iterators. These files are not yet part of the build. 2000-03-22 08:19:48 +00:00
scc%netscape.com
92e24087ff Incremental changes. Provided implementations for the virtual functions that were previously pure virtual. These implementations were common, after all, even just between |nsString| and |nsCString|. These files are not part of the build. 2000-03-12 20:57:35 +00:00
scc%netscape.com
7002773472 Incremental changes. Added |Implementation()| member to allow rick to implement copy-on-write. Added more virtual members to writable. More to come. These files are not part of the build. 2000-03-12 17:39:49 +00:00
scc%netscape.com
a16db647b9 Incremental changes. Reorganized code; implemented more factored methods. Moved string owner from fragment to iterator. Renamed the |const| version of |GetFragment| to |GetConstFragment| so we didn't mix overloading with overriding; eliminating need for some uses of |using| ... may want to do the same thing with |Begin| and |End|. These files are not part of the build. 2000-03-12 01:28:16 +00:00
scc%netscape.com
7b543c486c Incremental changes. Modified the strategy for nested |nsPromiseConcatenation| objects. Changed the type of the fragment identifier in a fragment. These files are not part of the build. 2000-03-10 07:04:09 +00:00
scc%netscape.com
4d17a62278 Incremental changes, renamed |nsConcatString| to |nsPromiseConcatenation|. Added |nsPromiseSubstring|. Got rid of upper/lower signatures. Added |Assign|. Fixed comparison macros. Added |operator+=| and |operator=|. These files are not part of the build. 2000-03-10 02:30:14 +00:00
scc%netscape.com
226fee4a5e Incremental changes. These files are not yet part of the build. a=don 2000-03-08 21:57:14 +00:00
scc%netscape.com
50fa47e2c4 Not part of the build. Developing interfaces. Incremental changes to share with rickg, et al. 2000-03-07 20:56:07 +00:00
scc%netscape.com
379d85539c First Checked In. 2000-03-07 01:02:10 +00:00