home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Fresh Fish 5
/
FreshFish_July-August1994.bin
/
bbs
/
gnu
/
libg++-2.5.3-bin.lha
/
info
/
libg++.info-1
(
.txt
)
< prev
next >
Wrap
GNU Info File
|
1994-02-27
|
41KB
|
667 lines
This is Info file libg++.info, produced by Makeinfo-1.55 from the input
file ./libg++.texi.
START-INFO-DIR-ENTRY
* Libg++:: The g++ class library.
END-INFO-DIR-ENTRY
This file documents the features and implementation of The GNU C++
library
Copyright (C) 1988, 1991, 1992 Free Software Foundation, Inc.
Permission is granted to make and distribute verbatim copies of this
manual provided the copyright notice and this permission notice are
preserved on all copies.
Permission is granted to copy and distribute modified versions of
this manual under the conditions for verbatim copying, provided also
that the section entitled "GNU Library General Public License" is
included exactly as in the original, and provided that the entire
resulting derived work is distributed under the terms of a permission
notice identical to this one.
Permission is granted to copy and distribute translations of this
manual into another language, under the above conditions for modified
versions, except that the section entitled "GNU Library General Public
License" and this permission notice may be included in translations
approved by the Free Software Foundation instead of in the original
English.
File: libg++.info, Node: Top, Next: Copying, Up: (DIR)
Introduction ************
This manual documents how to install and use the GNU C++ library.
* Menu:
* Copying:: GNU Library Public License says how you can copy
and share the GNU C++ library.
* Contributors:: People who have contributed to GNU C++ library.
* Installation:: How to configure, compile and install GNU C++ library
* Trouble:: If you have trouble installing GNU C++ library.
* General:: Aims, objectives, and limitations of the GNU C++ library
* Conventions:: Stylistic conventions
* OK:: Support for representation invariants
* Proto:: Introduction to container class prototypes
* Pix:: Pseudo-indexes
* Representations:: How variable-sized objects are represented
* Expressions:: Some guidance on programming expression-oriented classes
* Headers:: Header files and other support for interfacing C++ to C
* Builtin:: Utility functions for builtin types
* New:: Library dynamic allocation primitives
* IOStream:(iostream)Top.
The input/output library (istreams and ostreams).
* Stream:: obsolete I/O library
* Obstack:: Obstacks and their uses.
* AllocRing:: A place to store objects for a while
* String:: String, SubString, and Regex classes.
* Integer:: Multiple precision Integer class.
* Rational:: Multiple precision Rational class
* Complex:: Complex number class
* Fix:: Fixed point proportion classes
* Bit:: BitSet and BitString classes
* Random:: Random number generators
* Data:: SampleStatistic and related classes for data collection
* Curses:: CursesWindow class
* List:: Lisp-like List prototype
* LinkList:: Singly and doubly linked list class prototypes
* Vector:: Vector prototypes
* Plex:: Plex (adjustable array) prototypes
* Stack:: Stack prototypes
* Queue:: Queue prototypes
* Deque:: Double ended queue prototypes
* PQ:: Heap (priority queue) class prototypes
* Set:: Set class prototypes
* Bag:: Bag class prototypes
* Map:: Map (Associative array) prototypes
* GetOpt:: C++ class-based version of the GNU/UNIX getopt function
* Projects:: Things Still Left to do
File: libg++.info, Node: Copying, Next: Contributors, Prev: Top, Up: Top
GNU LIBRARY GENERAL PUBLIC LICENSE
**********************************
Version 2, June 1991
Copyright (C) 1991 Free Software Foundation, Inc.
675 Mass Ave, Cambridge, MA 02139, USA
Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.
[This is the first released version of the library GPL. It is
numbered 2 because it goes with version 2 of the ordinary GPL.]
Preamble
========
The licenses for most software are designed to take away your
freedom to share and change it. By contrast, the GNU General Public
Licenses are intended to guarantee your freedom to share and change
free software--to make sure the software is free for all its users.
This license, the Library General Public License, applies to some
specially designated Free Software Foundation software, and to any
other libraries whose authors decide to use it. You can use it for
your libraries, too.
When we speak of free software, we are referring to freedom, not
price. Our General Public Licenses are designed to make sure that you
have the freedom to distribute copies of free software (and charge for
this service if you wish), that you receive source code or can get it
if you want it, that you can change the software or use pieces of it in
new free programs; and that you know you can do these things.
To protect your rights, we need to make restrictions that forbid
anyone to deny you these rights or to ask you to surrender the rights.
These restrictions translate to certain responsibilities for you if you
distribute copies of the library, or if you modify it.
For example, if you distribute copies of the library, whether gratis
or for a fee, you must give the recipients all the rights that we gave
you. You must make sure that they, too, receive or can get the source
code. If you link a program with the library, you must provide
complete object files to the recipients so that they can relink them
with the library, after making changes to the library and recompiling
it. And you must show them these terms so they know their rights.
Our method of protecting your rights has two steps: (1) copyright
the library, and (2) offer you this license which gives you legal
permission to copy, distribute and/or modify the library.
Also, for each distributor's protection, we want to make certain
that everyone understands that there is no warranty for this free
library. If the library is modified by someone else and passed on, we
want its recipients to know that what they have is not the original
version, so that any problems introduced by others will not reflect on
the original authors' reputations.
Finally, any free program is threatened constantly by software
patents. We wish to avoid the danger that companies distributing free
software will individually obtain patent licenses, thus in effect
transforming the program into proprietary software. To prevent this,
we have made it clear that any patent must be licensed for everyone's
free use or not licensed at all.
Most GNU software, including some libraries, is covered by the
ordinary GNU General Public License, which was designed for utility
programs. This license, the GNU Library General Public License,
applies to certain designated libraries. This license is quite
different from the ordinary one; be sure to read it in full, and don't
assume that anything in it is the same as in the ordinary license.
The reason we have a separate public license for some libraries is
that they blur the distinction we usually make between modifying or
adding to a program and simply using it. Linking a program with a
library, without changing the library, is in some sense simply using
the library, and is analogous to running a utility program or
application program. However, in a textual and legal sense, the linked
executable is a combined work, a derivative of the original library,
and the ordinary General Public License treats it as such.
Because of this blurred distinction, using the ordinary General
Public License for libraries did not effectively promote software
sharing, because most developers did not use the libraries. We
concluded that weaker conditions might promote sharing better.
However, unrestricted linking of non-free programs would deprive the
users of those programs of all benefit from the free status of the
lib