]> oss.titaniummirror.com Git - msp430-gcc.git/blobdiff - libstdc++-v3/docs/html/27_io/binary_iostreams_kuehl.txt
Imported gcc-4.4.3
[msp430-gcc.git] / libstdc++-v3 / docs / html / 27_io / binary_iostreams_kuehl.txt
diff --git a/libstdc++-v3/docs/html/27_io/binary_iostreams_kuehl.txt b/libstdc++-v3/docs/html/27_io/binary_iostreams_kuehl.txt
deleted file mode 100644 (file)
index 901701f..0000000
+++ /dev/null
@@ -1,89 +0,0 @@
-
-From: kuehl@ramsen.informatik.uni-konstanz.de (Dietmar Kuehl)
-Newsgroups: comp.std.c++
-Subject: Re: binary iostreams ?
-Date: Sat,  3 Feb 2001 17:17:49 GMT
-Message-ID: <95hctq$suu$2@news.BelWue.DE>
-
-Hi,
-Plinio Conti (plinio.contiNO@SPAMMINGmclink.it) wrote:
-: Why std c++ library stream classes are only text-oriented?
-
-There is only a text oriented front end to stream buffers because text
-input and output does not vary between platforms. This is very
-different for binary output. For example, binary output has to consider
-
-- word sizes: Is an 'int' two, four, or eight bytes long? The same
-  questions arise for all other built-in types.
-
-- what is the bit pattern of a value? I think that at least implicitly
-  in the standard a binary representation for integer types is required.
-  I don't think that it is required to use two's complement. In any
-  case, the floating point representations do differ, eg. in their
-  number of bytes used.
-
-- what "endianess" is to be used?
-
-Basically it is possible to decide a format for each of those. This,
-however, implies inefficient implementations on platforms where the
-format does not match the internal representation.
-
-What many people asking for binary I/O forget is that binary I/O also
-requires some form of formatting! Assuming that just writing data and
-then reading it in will work is asking for problems, eg. when the
-compiler version changes and they decided to use a 32 bit integer
-rather than a 16 bit integer: It is not even necessary to switch
-platforms to run into problems!
-
-: I mean, if I want to write an int, a float, etc. AS IT IS I can't use
-: streams, because they write and read a human readable text format of
-: numbers.
-
-Which is for most I/O a reasonable approach. If it is not for you, you
-might want to consider a data base: File I/O is not really useful as a
-persistance mechanism. It is fine eg. for user interaction (text I/O),
-logging (text I/O), cross platfrom program interaction (formatted I/O),
-and data exchange (formatted I/O). In all these cases, the I/O is
-formatted, although possible using a binary format. For persistance,
-data bases are used. Depending on your needs, a relational or an object
-oriented one may be better suited.
-
-That said, it is worth to mention that it is easy to create a hierarchy
-similar to IOStreams built on top of stream buffers but doing binary
-formatting. A somewhat aged example is found at
-<ftp://ftp.fmi.uni-konstanz.de/pub/algo/personal/kuehl/binio.tar.gz>.
-This uses XDR formatting of the binary data (well, if I remmeber 
-correctly, it is easy to plug in a different binary formatting).
-
-: Does anyone know how to solve the problem?
-
-Use a data base, text formatting, or binary formatting. With the
-details you have given it is impossible to tell which of those is the
-right approach because you haven't told *why* you want a binary format
-and *what* you want to do. That basically means that you came up with
-solution and you want us to confirm that it is the right one without
-telling us what problem is solved! Until I have seen the problem I
-doubt that binary I/O is the right approach...
-
-... and, BTW, using 'std::istream::read()' and 'std::ostream::write()'
-is almost certainly the *wrong* approach! These functions are an
-historical mistake which should have been corrected in the standard:
-It is my understanding that these methods were present in the IOStream
-version predating the rework from Jerry Schwartz and were left in to
-be compatible with the earlier stuff although they were not necessary:
-You could get binary I/O from the stream buffer level. The original
-IOStream library (maybe you remember using <stream.h>) did not have
-stream buffers and thus basic support for binary I/O was also present
-on the streams level.
-
-: What do you think about this choice?
-
-When I wrote the above paragraph about confirming your choice, I haven't
-read this question! As I said above: You told us what solution you have
-choosen without stating what problem is solved. We cannot determine
-whether your choice is the right one. Actually, I'm pretty sure it is
-the wrong one but without seen the details I can't be certain.
---
-<mailto:dietmar_kuehl@yahoo.com> <http://www.dietmar-kuehl.de/>
-Phaidros eaSE - Easy Software Engineering: <http://www.phaidros.com/>
-