New Features in Standard C++ IOStreams
One of the most frequently used components of the standard C++ library
are IOStreams. Before the standardization of C++, IOStreams existed in
various flavors, all of which were similar, but not guaranteed to be compatible.
With the intent to unify and standardize IOStreams, the classic IOStreams
library was revised, improved, and formally specified as part of the standard
C++ library.
The new standard IOStreams differ from the classic IOStreams component
in several areas: The class hierarchy underwent some changes. All
IOStreams classes are now class templates and allow various character types
and character traits. The error indication policy was enhanced so that
IOStreams can raise exceptions. IOStreams are internationalized and allow
multi-cultural text i/o. Some questionable features were removed and replaced
by safer features; gone are assignment of streams, the strstream classes,
access to file descriptors, and replacement of the stream buffer via setbuf().
Some of these modification have a visible impact on the way the new
IOStreams are used. User-defined operations such as shift operators
and manipulators are likely to be templates nowadays. They must cope with
exceptions. IOStreams users must have some basic knowledge of C++ locales
in order to understand the internationalization features of the new IOStreams.
In this lecture we will explore the changes and extensions that distinguish
the standard IOStreams from the classic IOStreams. This is particularly
interesting to developers who have existing IOStreams applications and
want to migrate to the standard IOStreams. |
|
PREREQUISITES
|
|
Level:
|
intermediate |
Duration:
|
2 hours |
Prerequisites:
|
Attendants should have some degree of practical experience
with the classic IOStreams and want to learn how to migrate to the standard
IOStreams. |
Presented at:
|
Application Development
'99
, London, UK, July 1999 |
If you are interested to hear more about this
and related topics you might want to check out the following seminars or
skim through some further reading:
|
|
Seminars
|
Paper
|
|