Commit Graph

291 Commits

Author SHA1 Message Date
scc%mozilla.org
d369a0d0d0 not part of the build; further work on multi-fragment strings. They are now limping along and can actually be used. They pass all tests not related to |Substring| and |nsPromiseConcatenation|. 2000-08-10 00:45:33 +00:00
scc%mozilla.org
332cbbead7 fixed |nsCharSinkTraits<T>::write| as per bug #46462; r=beard, a=waterson 2000-08-09 08:26:12 +00:00
scc%mozilla.org
7a4bbc2688 fixed |BeginWriting| and |EndWriting| to no longer take an offset, fallout from the new multi-fragment string implementation; fixed a bug in |operator-=| exposed by the change to |EndWriting|; fixed |nsWritingIterator<CharT>::write| as per bug #46462; fixed comments galore, significantly better specifying |SetLength| and |SetCapacity|; since |SetCapacity| is just a hint, give it a default implementation rather than making it pure virtual; fixed a couple of the |do_...| routines to unify the code path minimizing overides; r|a=waterson 2000-08-09 08:26:08 +00:00
scc%mozilla.org
454fd1db7e fixed |BeginReading| and |EndReading| to no longer take an offset, fallout from the new multi-fragment string implementation; fixed a bug in |operator-=| exposed by the change to |EndReading|; fixed the |CharAt| family of routines accordingly; fixed comments galore; r|a=waterson 2000-08-09 08:26:00 +00:00
scc%mozilla.org
744280c781 not part of the build; further work on multi-fragment strings 2000-08-09 02:47:33 +00:00
scc%mozilla.org
f4c2ca5073 not part of the build; initial work on multi-fragment strings 2000-08-08 00:14:35 +00:00
scc%mozilla.org
e442ddaee4 also including "nsAWritableString.h" to satisfy speedracer 2000-08-05 08:32:18 +00:00
scc%mozilla.org
be5ab5a689 need |NS_COM| in the declarations too 2000-08-05 08:20:50 +00:00
scc%mozilla.org
8bf207c3fb added comments and made some changes suggested by reviewers; still not in the build 2000-08-05 04:25:49 +00:00
scc%mozilla.org
c179048fab These files are not yet part of the build; making global versions of |IsASCII|, |ToNewCString|, and |ToNewUnicode| that apply to readables, since we don't want them as member functions (where they were in |ns[C]String|). Vidur needs these to convert DOM interfaces over to readables. 2000-08-05 00:51:37 +00:00
scc%mozilla.org
0b41ff950a fix self assignment, self append, self replace problems. r=waterson 2000-06-29 22:17:53 +00:00
scc%mozilla.org
e00741f6fd fix for commercial bustage on Mac (adding |operator const CharT*() const| to |basic_nsLiteralString|). fix for blizzards linux changes needing working |Substring|. r=beard,syd 2000-06-21 05:13:10 +00:00
scc%mozilla.org
3446bda5c3 fixing OS/2 VisualAge platform bustage, and bad dates in licenses 2000-06-18 05:00:31 +00:00
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
3adf5c9604 provide real definitions for |NS_LITERAL_STRING| (one of which exploits |wchar_t|); add a range-check assertion to |CharAt|; add another constructor to |nsPromiseConcatenation| to allow per-class |operator+()| (which some compilers need to resolve ambiguity) to work; fiddled with inlining to reduce bloat ... more experiments needed 2000-06-11 01:00:08 +00:00
scc%mozilla.org
752a6ca4ce 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. These are stragglers missed in an earlier checkin. 2000-06-03 00:38:06 +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
waterson%netscape.com
0736651092 Bug 39424. Fix Sun Workshop compiler bustage by conditioning NS_READABLE_CAST's funkiness on NEED_CPP_TEMPLATE_CAST_TO_BASE. r=scc 2000-05-27 05:51:56 +00:00
waterson%netscape.com
c82987ae0a Back out changes that I didn't mean to check in. 2000-05-27 00:17:36 +00:00
waterson%netscape.com
d8892ddb25 Fix boneheaded mistake: I left the return type of NS_ConvertUCS2toUTF8::Init(). 2000-05-27 00:17:10 +00:00
scc%mozilla.org
00443cdd51 Bug #39963. The NS_LITERAL_[C]STRING macros incorrectly counted the null terminator for a literal string in the length. This may not be the complete solution. r=sdagley 2000-05-21 01:45:19 +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
dae10b02a8 Adding a new file. Part of the fix for Bug #39686. 2000-05-20 19:57:03 +00:00
scc%mozilla.org
3730f50409 ugh. Fix to placate egcs. |static_cast| should be sufficient for a |void*|, but egcs seems to need |reinterpret_cast| 2000-05-20 19:08:36 +00:00
scc%mozilla.org
82bbf19a82 Fixing platform bustage only caught by SunOS Workshop. Need a |const| in a cast to avoid casting away |const|-ness. r=jdunn 2000-05-20 18:22:05 +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
dbf69aad27 Revert NS_READABLE_CAST. Without the reference, it didn't work. 2000-05-16 07:01:30 +00:00
waterson%netscape.com
5f34d86620 Clean up some of the last warnings. 2000-05-16 00:45:38 +00:00
waterson%netscape.com
fea560d46b Flip NS_READABLE_CAST back the other way: more important to placate egcs that gcc-2.7.2.3 2000-05-15 23:06:25 +00:00
scc%netscape.com
626f886483 adding macros and uses to support Solaris' inability to pick operator+ 2000-05-15 07:28:00 +00:00
scc%netscape.com
b9cc20ed14 added macro code to help define more comparison operators. Got rid of |typename|. We can live with the warnings, maybe; but windows can't digest it in this context. 2000-05-15 05:14:40 +00:00
scc%netscape.com
a274af8eb7 changes to fix some errors constructing autostrings from null pointers that led to crashes 2000-05-15 03:10:19 +00:00
scc%netscape.com
dc0afa9707 ...oops, have to comment out the body too. Sorry. 2000-05-15 00:16:30 +00:00
scc%netscape.com
1280fd6d46 commented out an |NS_WARNING| that will overwhelm you, I'll turn it into an assertion for me only, later. Also got rid of |Equals(*, int)| temporarily, as with |Compare| to catch clients who should be using |EqualsWithConversion| 2000-05-15 00:13:57 +00:00
scc%netscape.com
6965740bc5 disable a not helpful warning for VC++ 2000-05-14 23:33:05 +00:00
scc%netscape.com
3e0a608172 comment out |Compare| with a length to help find callers of the old compare function that need to become to |CompareWithConversion|. 2000-05-14 22:32:30 +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
37ec015a19 fixed macro-based comparison operators to help with our type-unification problems 2000-05-13 21:39:37 +00:00
scc%netscape.com
018741229b Added |NS_READABLE_CAST| to clarify what we're doing in places where we face the type-unification error on lame compilers. 2000-05-13 20:29:18 +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
waterson%netscape.com
cd9a82f6e1 Resolve gcc-2.7.2.3 type unification ambiguity for nsAReadableString's Compare() method. NOT PART OF THE BUILD. 2000-05-13 02:11:26 +00:00
scc%netscape.com
e3490a6024 changed some comments 2000-05-12 05:20:21 +00:00
scc%netscape.com
d3d0b85749 Changed some comments 2000-05-12 05:17:51 +00:00
scc%netscape.com
c977f73add Filled out the smart pointer implementation. Changed some comments. 2000-05-12 05:17:39 +00:00
scc%netscape.com
cfa6bc6d60 Added an assertion in |copy_string|. Changed some comments. 2000-05-12 05:16:00 +00:00
scc%netscape.com
bf109dc6c9 making promises work 2000-04-27 20:01:28 +00:00
mjudge%netscape.com
3c00091d57 scc string fixes 2000-04-26 00:55:37 +00:00
pavlov%netscape.com
64baf8c0ac add typename to make linux compiler happy r=scc 2000-04-23 05:54:36 +00:00
scc%netscape.com
15fe64c984 Fixed |nsPromiseSubstring::GetReadableFragment|, which had been walking off the end. Re-implemented |copy_string| in terms of the new char-source/char-sink stuff that beard and I came up with. Factored some code into |SameFragment|. Did some general shuffling and cleanup. 2000-04-21 01:25:19 +00:00
scc%netscape.com
44d068215d Added |nsCharSourceTraits| and |nsCharSinkTraits| to better facilitate copying from arbitrary char sources into arbitrary char consumers 2000-04-21 01:20:55 +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
scc%netscape.com
f0e3d7164f Added a new type, |incompatible_char_type| to help build signatures that prevent automatic incorrect promotion from |char| to |PRUnichar|. Kind of a hack, but the right way (specializing |nsAWritable| for |PRUnichar| can't be made to compile everywhere) 2000-04-14 23:19:14 +00:00
waterson%netscape.com
09d2262556 Ok, the |typename| stuff wasn't really necessary, and caused problems on VC++. r=scc 2000-04-04 09:21:57 +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
waterson%netscape.com
5ef034810c Hackery to get NEW_STRING_APIS compiling on gcc-2.7.2.3. r=scc 2000-04-04 06:00:01 +00:00
waterson%netscape.com
fbfadbfae0 Start trying to compile on Unix with new changes. r=scc 2000-04-04 05:45:57 +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
74a3c00cac incremental changes. these files are not yet part of the build 2000-03-31 07:28:38 +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
3ff4debe4a First Checked In. 2000-03-29 08:11:59 +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
53eaa359c9 Adding some macros that allow me to start using literal strings 2000-03-28 22:37:51 +00:00
waterson%netscape.com
9de0d361a8 Beef up autoconf tests to differentiate 'ambiguity resolving' and 'access changing' support of the 'using' keyword. Add a test to see if the 'std' namespace is used on the platform. r=scc 2000-03-28 07:01:37 +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
8989445116 Trying to fix for Solaris 2000-03-25 07:55:07 +00:00
pavlov%netscape.com
57009b25cf add some #if[n]def STASTANDALONE_STRING_TESTS r=scc 2000-03-25 02:07:34 +00:00
scc%netscape.com
4735f81cae Making the tests run on all platforms. Removing some confusion about iostreams. 2000-03-25 00:59:29 +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
12219bcb0b Fully qualify ReadingIterator when used inside template (so it compiles on egcs-1.1.2). Minor silly fixes. 2000-03-24 06:02:37 +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
931f86c6b0 First Checked In. 2000-03-23 21:09:27 +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
0825f5bcd1 Incremental changes. Fixed some things that were stopping rickg from compiling. This file is not part of the build. 2000-03-14 17:10:03 +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
4343cd857e Incremental changes. Getting the comparison operators right. Making |operator+()| do the right thing. These files are not part of the build yet. 2000-03-09 06:37:45 +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