Standard C++ IOStreams and Locales: Advanced Programmer's Guide and Reference (Hardcover)
Angelika Langer, Klaus Kreft
- 出版商: Addison Wesley
- 出版日期: 2000-02-10
- 售價: $2,350
- 貴賓價: 9.5 折 $2,233
- 語言: 英文
- 頁數: 672
- 裝訂: Hardcover
- ISBN: 0201183951
- ISBN-13: 9780201183955
-
相關分類:
C++ 程式語言、Apple Developer
無法訂購
買這商品的人也買了...
-
$680$537 -
$980$774 -
$880$695 -
$780$741 -
$590$466 -
$680$537 -
$690$538 -
$420$332 -
$720$562 -
$780$663 -
$650$553 -
$780$616 -
$720$569 -
$880$792 -
$560$442 -
$750$675 -
$720$569 -
$560$504 -
$390$304 -
$490$417 -
$480$379 -
$750$593 -
$375Macromedia Dreamweaver 8 for Windows and Macintosh: Visual QuickStart Guide (Paperback)
-
$650$507 -
$720$569
相關主題
商品描述
Description
The first in-depth guide to Standard C++ IOStreams and internationalization -- by two world-renowned C++ experts.
- Includes extensive examples and case studies -- from simple to complex.
- Patterns of usage, practical tips and tricks, and internationalization techniques.
- Contains complete class references for IOStreams and locale components.
Angelika Langer works as a freelance writer and courseware developer. Formerly a senior trainer/developer at Rogue Wave Software, Inc., she led development of a C++ compiler standard library at Siemens Nixdorf, and has served on the ISO/ANSI Standards Committee since 1993.
Klaus Kreft is a software architect and senior consultant at Siemens Nixdorf Information Systems in Germany. He was previously a senior trainer/consultant at Rogue Wave Software, Inc., in Oregon. Together, the authors developed a course on the STL for Rogue Wave Software, and write a column on the Standard C++ Library for C++ Report.
Table Of Contents
Preface.Foreword.
Guide to Readers.
PART I. STREAM INPUT AND OUTPUT.
1. IOStreams Basics.Formatted Input/Output.
The Input and Output Operators.
The Format Parameters of a Stream.
Manipulators.
The Locale of a Stream.
Comparison Between Formatted Input and Output.
Peculiarities of Formatted Input.
The Stream State.
Checking the Stream State.
Catching Stream Exceptions.
Resetting the Stream State.
File Input/Output.
The Open Modes.
Bidirectional File Streams.
In-Memory Input/Output.
Unformatted Input/Output.
Stream Positioning.
Synchronization of Streams.
Synchronization using the unitbuf Format Flag.
Synchronization by Tying Streams.
Synchronizing the Predefined Standard Streams.
Synchronization with the C Standard I/O.
Synchronization with the External Device.
Synchronization Between Predefined Standard for Narrow and Wide Characters.
2. The Architecture of IOStreams.
The General Stream Classes.
The Concrete Stream Classes.
How Streams Maintain their Stream Buffer.
Copying and Assignment of Streams.
How Streams Maintain Their Locale.
Collaboration Among Streams, Stream Buffers, and Locales.
The Stream Buffer Classes.
The Stream Buffer Abstraction.
String Stream Buffers.
File Stream Buffers.
Character Types and Character Traits.
Character Traits.
Copying, Finding, and Comparing Characters.
Conversion State.
Stream Positions.
The Predefined Standard Character Traits.
Character Types.
Stream Iterators and Stream Buffer Iterators.
Stream Iterators.
Input Stream Iterator.
Stream Iterators are One-Pass Iterators.
Stream Buffer Iterators.
Input Stream Buffer Iterator.
Additional Stream Storage and Stream Callbacks.
Stream Callbacks.
3. Advanced IOStreams Usage.
First Inserters and Extractors.
Refinements.
Prefix and Suffix Operations.
Error Indication.
Internationalization.
I/O Operations.
Refined Inserters and Extractors.
Prefix and Suffix Operations.
Format Control.
Error Indication.
Using the Refined Inserter and Extractor.
Generic Inserters and Extractors.
Simple Versus Refined Approach.
User-Defined Manipulators.
Manipulators with Parameters.
Generalized Technique: Using a Manipulator Base Template.
Variants of a Manipulator Implementation.
Refinements.
Manipulators with State.
The Standard Manipulator Base Type smanip.
Extending Stream Functionality.
Implementing the Date Inserter.
Implementing the Maniuplator.
Using Stream Callbacks for Memory Management.
Error Indication of Stream Callback Functions.
Using the New Functionality.
Evaluation of the iword/pword Approach.
Creating New Stream Classes by Derivation.
Implementing the Date Inserter and the Manipulator.
Implementing the Manipulator.
Using the New Functionality.
Summary.
Comparing Both Solutions—iword/pword Versus Derivation.
Adding Stream Buffer Functionality.
Stream Buffer for Buffered Character Transport.
Optional Functionality of Stream Buffers.
Providing New Stream Classes Along with New Stream Buffer Classes.
Deriving from Concrete Stream Buffer Classes.
II. INTERNATIONALIZATION.
4. Introduction to Internationalization and Localization.
Cultural Conventions.
Numerical Values.
Monetary Values.
Time and Date.
Sorting Words.
Messages.
Character Encodings.
Character Codesets.
Character Encoding Schemes.
Uses of Multibyte Encodings and Wide Characters.
Code Conversions.
5. Locales.
Combined Locales.
The Global Locale.
Retrieving Facets from a Locale.
use_facet.
6. Standard Facets.
Character Classification.
Character Conversion Between charT and char.
Special Properties of ctype
String Collation.
Code Conversion.
Message Catalogs.
Formatting and Parsing Facets.
The num_put Facet.
The num_get Facet.
Monetary Values.
The money_put Facet.
The money_get Facet.
Date and Time Values.
The time_get Facet.
Grouping of Standard Facets in a Locale.
The Derived by name Facets.
Behavior of the Base Class Facets.
Mandatory Facet Types.
Locale Categories.
Diagram: Facets and Categories.
Advanced Usage of the Standard Facets.
Use of a Facet Through a Locale.
Direct Use of the Facet Independent of a Locale.
7. The Archtecture of the Locale Framework.
Identification and Lookup of Facets in a Locale.
Facet Lookup.
Storing Facets in a Locale.
The Rationale Behind the Use of the Two-Phase Polymorphism.
Memory Management of Facets in Locale.
Immutability of Facets in a Locale.
8. User-Defined Facets.
Defining a New Facet Family.
Reference Guide.
Introduction.
1. Locale.
global functions.
codecvt.
codecvt_base.
codecvt_byname.
collate.
collate_byname.
ctype.
ctype.
cytpe_base.
ctype_byname.
locale.
messages.
messages_base.
messages_byname.
money_base.
money_get.
moneypunct.
moneypunct_byname.
money_put.
num_get.
numpunct.
numpunct_byname.
num_put.
time_base.
time_get.
time_get_byname.
time_put.
time_put_byname.
time_base.
tm.
2. Character Traits.
char_traits
char_traits
char_traits
3. IOStreams.
global type definitions.
global objects.
basic_filebuf
basic_fstream
basic_ifstream
basic_ios
basic_iostream
basic_istream
basic_istringstream
basic_ofstream
basic_ostream
basic_ostringstream
basic_streambuf
basic_stringbuf
basic_stringstream
fpos
ios_base.
manipulators.
4. Stream Iterators.
istreambuf_iterator
istream_iterator
iterator
iterator category tags.
ostreambuf_iterator
ostream_iterator
5. Other I/O Operations.
complex
basic_string
Appendix A: Parsing and Extraction of Numerical and bool Values.
A.2 Parsing bool Values.
A.3 Conversion Specifier and Length Modifier.
Appendix B: Formatting of Numerical and bool Values.
B.2 Formatting bool Values.
B.3 Conversion Specifiers, Qualifiers, and Length Modifiers.
Appendix C: strftime() Conversion Specifiers.
Appendix D: Correspondences Between C and C++IOStreams.
D.2 Stream Positions.
Appendix E: Differences Between Classic and Standard IOStreams.
E.2 Splitting Base Class ios.
E.3 Indicating Errors.
E.4 Internationalizing IOStreams.
E.5 Removing_withassign Classes.
E.6 Removing File Descriptors.
E.7 String Streams: Replacing strstream by stringstream.
E.8 Changes to the Stream Buffer Classes.
E.9 Minor changes.
Appendix F: Relationship Between C and C++ Locales.
F.2 The Global Locale in C and C++.
Appendix G: New C++ Features and Idoms.
G.2 POD--Plain Old Data.
G.3 Explicit Constructors.
G.4 Template Specialization.
G.5 Default Template Arguments.
G.6 Explicit Template Argument Specification.
G.7 The Typename Keyword.
G.8 Dynamic Cast.
G.9 Function try Blocks.
G.10 Standard Exceptions.
G.11 Numeric Limits.
G.12 C++ Strings.
Bibliography.
Index. 0201183951T04062001