home *** CD-ROM | disk | FTP | other *** search
/ Fresh Fish 4 / FreshFish_May-June1994.bin / bbs / gnu / libg++-2.5.3-bin.lha / info / libg++.info-1 (.txt) < prev    next >
GNU Info File  |  1994-02-27  |  41KB  |  667 lines

  1. This is Info file libg++.info, produced by Makeinfo-1.55 from the input
  2. file ./libg++.texi.
  3. START-INFO-DIR-ENTRY
  4. * Libg++::                      The g++ class library.
  5. END-INFO-DIR-ENTRY
  6.    This file documents the features and implementation of The GNU C++
  7. library
  8.    Copyright (C) 1988, 1991, 1992 Free Software Foundation, Inc.
  9.    Permission is granted to make and distribute verbatim copies of this
  10. manual provided the copyright notice and this permission notice are
  11. preserved on all copies.
  12.    Permission is granted to copy and distribute modified versions of
  13. this manual under the conditions for verbatim copying, provided also
  14. that the section entitled "GNU Library General Public License" is
  15. included exactly as in the original, and provided that the entire
  16. resulting derived work is distributed under the terms of a permission
  17. notice identical to this one.
  18.    Permission is granted to copy and distribute translations of this
  19. manual into another language, under the above conditions for modified
  20. versions, except that the section entitled "GNU Library General Public
  21. License" and this permission notice may be included in translations
  22. approved by the Free Software Foundation instead of in the original
  23. English.
  24. File: libg++.info,  Node: Top,  Next: Copying,  Up: (DIR)
  25.    Introduction ************
  26.    This manual documents how to install and use the GNU C++ library.
  27. * Menu:
  28. * Copying::        GNU Library Public License says how you can copy
  29.                     and share the GNU C++ library.
  30. * Contributors::    People who have contributed to GNU C++ library.
  31. * Installation::    How to configure, compile and install GNU C++ library
  32. * Trouble::         If you have trouble installing GNU C++ library.
  33. * General::         Aims, objectives, and limitations of the GNU C++ library
  34. * Conventions::     Stylistic conventions
  35. * OK::              Support for representation invariants
  36. * Proto::           Introduction to container class prototypes
  37. * Pix::             Pseudo-indexes
  38. * Representations:: How variable-sized objects are represented
  39. * Expressions::     Some guidance on programming expression-oriented classes
  40. * Headers::         Header files and other support for interfacing C++ to C
  41. * Builtin::         Utility functions for builtin types
  42. * New::             Library dynamic allocation primitives
  43. * IOStream:(iostream)Top.
  44.                     The input/output library (istreams and ostreams).
  45. * Stream::          obsolete I/O library
  46. * Obstack::         Obstacks and their uses.
  47. * AllocRing::       A place to store objects for a while
  48. * String::          String, SubString, and Regex classes.
  49. * Integer::         Multiple precision Integer class.
  50. * Rational::        Multiple precision Rational class
  51. * Complex::         Complex number class
  52. * Fix::             Fixed point proportion classes
  53. * Bit::             BitSet and BitString classes
  54. * Random::          Random number generators
  55. * Data::            SampleStatistic and related classes for data collection
  56. * Curses::          CursesWindow class
  57. * List::            Lisp-like List prototype
  58. * LinkList::        Singly and doubly linked list class prototypes
  59. * Vector::          Vector prototypes
  60. * Plex::            Plex (adjustable array) prototypes
  61. * Stack::           Stack prototypes
  62. * Queue::           Queue prototypes
  63. * Deque::           Double ended queue prototypes
  64. * PQ::              Heap (priority queue) class prototypes
  65. * Set::             Set class prototypes
  66. * Bag::             Bag class prototypes
  67. * Map::             Map (Associative array) prototypes
  68. * GetOpt::          C++ class-based version of the GNU/UNIX getopt function
  69. * Projects::        Things Still Left to do
  70. File: libg++.info,  Node: Copying,  Next: Contributors,  Prev: Top,  Up: Top
  71. GNU LIBRARY GENERAL PUBLIC LICENSE
  72. **********************************
  73.                          Version 2, June 1991
  74.      Copyright (C) 1991 Free Software Foundation, Inc.
  75.      675 Mass Ave, Cambridge, MA 02139, USA
  76.      Everyone is permitted to copy and distribute verbatim copies
  77.      of this license document, but changing it is not allowed.
  78.      
  79.      [This is the first released version of the library GPL.  It is
  80.       numbered 2 because it goes with version 2 of the ordinary GPL.]
  81. Preamble
  82. ========
  83.    The licenses for most software are designed to take away your
  84. freedom to share and change it.  By contrast, the GNU General Public
  85. Licenses are intended to guarantee your freedom to share and change
  86. free software--to make sure the software is free for all its users.
  87.    This license, the Library General Public License, applies to some
  88. specially designated Free Software Foundation software, and to any
  89. other libraries whose authors decide to use it.  You can use it for
  90. your libraries, too.
  91.    When we speak of free software, we are referring to freedom, not
  92. price.  Our General Public Licenses are designed to make sure that you
  93. have the freedom to distribute copies of free software (and charge for
  94. this service if you wish), that you receive source code or can get it
  95. if you want it, that you can change the software or use pieces of it in
  96. new free programs; and that you know you can do these things.
  97.    To protect your rights, we need to make restrictions that forbid
  98. anyone to deny you these rights or to ask you to surrender the rights.
  99. These restrictions translate to certain responsibilities for you if you
  100. distribute copies of the library, or if you modify it.
  101.    For example, if you distribute copies of the library, whether gratis
  102. or for a fee, you must give the recipients all the rights that we gave
  103. you.  You must make sure that they, too, receive or can get the source
  104. code.  If you link a program with the library, you must provide
  105. complete object files to the recipients so that they can relink them
  106. with the library, after making changes to the library and recompiling
  107. it.  And you must show them these terms so they know their rights.
  108.    Our method of protecting your rights has two steps: (1) copyright
  109. the library, and (2) offer you this license which gives you legal
  110. permission to copy, distribute and/or modify the library.
  111.    Also, for each distributor's protection, we want to make certain
  112. that everyone understands that there is no warranty for this free
  113. library.  If the library is modified by someone else and passed on, we
  114. want its recipients to know that what they have is not the original
  115. version, so that any problems introduced by others will not reflect on
  116. the original authors' reputations.
  117.    Finally, any free program is threatened constantly by software
  118. patents.  We wish to avoid the danger that companies distributing free
  119. software will individually obtain patent licenses, thus in effect
  120. transforming the program into proprietary software.  To prevent this,
  121. we have made it clear that any patent must be licensed for everyone's
  122. free use or not licensed at all.
  123.    Most GNU software, including some libraries, is covered by the
  124. ordinary GNU General Public License, which was designed for utility
  125. programs.  This license, the GNU Library General Public License,
  126. applies to certain designated libraries.  This license is quite
  127. different from the ordinary one; be sure to read it in full, and don't
  128. assume that anything in it is the same as in the ordinary license.
  129.    The reason we have a separate public license for some libraries is
  130. that they blur the distinction we usually make between modifying or
  131. adding to a program and simply using it.  Linking a program with a
  132. library, without changing the library, is in some sense simply using
  133. the library, and is analogous to running a utility program or
  134. application program.  However, in a textual and legal sense, the linked
  135. executable is a combined work, a derivative of the original library,
  136. and the ordinary General Public License treats it as such.
  137.    Because of this blurred distinction, using the ordinary General
  138. Public License for libraries did not effectively promote software
  139. sharing, because most developers did not use the libraries.  We
  140. concluded that weaker conditions might promote sharing better.
  141.    However, unrestricted linking of non-free programs would deprive the
  142. users of those programs of all benefit from the free status of the
  143. lib