This archive contains source code files for the Standard Template
Library (STL). These files are a slight modification of the October
31, 1995 release of the Hewlett-Packard implementation. 

D.R. Musser
12/29/95


===================================================================
The differences between this STL source code and the October 31, 1995
release of the Hewlett-Packard implementation are as follows:

----------bool.h
18a19
> #define __BOOL_DEFINED

This line was added because of code in bstring.h that uses this
symbol to detect if bool is already defined. 

----------defalloc.h
24,26c24,28
< inline void* operator new(size_t, void* p) {return p;}
---
> #ifndef _MSC_VER
> inline void* operator new(size_t, void* p) {return p;}

> #endif

We shouldn't define operator new if using Microsoft Visual C++
(because it's already defined).

----------deque.h
206c206
< 	const_reference operator[](difference_type n) { 
---
> 	const_reference operator[](difference_type n) const { 
254c254
<   const_reference operator[](size_type n) { return *(begin() + n); }
---
>
    const_reference operator[](size_type n) const { return *(begin() + n); }

The missing consts were bugs in the HP release.

----------function.h
155c155
< struct plus : binary_function<T, T, T> {
---
> struct plus : public binary_function<T, T, T> {

This and similar changes to the other structs keep the xlC and
CSet++ compilers from giving an extraneous warning message.


----------pair.h
25c25
<     pair() {}
---
>     pair() : first(T1()), second(T2()) {}

Necessary for (at least) xlC, CSet++, and Microsoft Visual C++.


