This is the mail archive of the cygwin@sourceware.cygnus.com mailing list for the Cygwin project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

RE: <string.h> .vs. <String.h>


At 03:42 AM 1/31/97 EST, dahms@ifk20.mach.uni-karlsruhe.de wrote:
>Hi, you wrote:
>
>: Technically, the ANSI C++ committee is off the hook, because they have
>: mandated that C++ include files be included simply as <String>,
>: <iostream>, etc., and so it should be possible to distinguish between
>: <String> and <string.h>.
>
>I have never heard about the .h-less includes!
>

Neither had I but looking at the code, they're in there!  See g++/complex.h.

>: In practice, however, 100% of all C++ installations still ship their
>: files using a .h suffix, and we have a clash. Remember that ANSI C++
>: still grandfathers in the <string.h> file from C, so we have a situation
>: in which C++ implementations have to ship both files, and given the
>: case-insensitive nature of many file systems, they have a problem on
>: their hands.
>
>Would it be possible having *identical* contents for both, depending
>on _CPLUSPLUS or some such, protected from multiple includes by the same
>ifdef, or both just including another, third file with a secure name?

I like the idea of using _CPLUSPLUS and sharing the multiple include symbol 
or using both in one file (if two different ones already exist).  This would
allow one to use the "traditional" file names for things like "string.h" for
backward compatibility and ease of use in C while allowing the addition of 
C++ code without creating the case-insenstive file name problems or needing 
to dream up yet another reasonable file name for the String class.

Larry Hall                                                      lhall@rfk.com
RFK Partners, Inc.                      (617) 239-1053
8 Grove Street                          (617) 239-1655 - FAX
Wellesley, MA  02181                             

-
For help on using this list, send a message to
"gnu-win32-request@cygnus.com" with one line of text: "help".


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]