# STLplus_v2.5_BCB_Patches.zip

### .ZIP file contents:

STLplus_v2.5_BCB_Patches.zip contains the changes needed to make STLplus version 2.5 compile correctly on a Borland C++ Builder 6 compiler.

### Author

All of the patches were created by Curtis Krauskopf of The Database Managers, Inc.

Parts of the examples were taken from code snippets provided in the STLplus documentation. Most of the examples were created by Curtis Krauskopf of The Database Managers, Inc.

### Legal stuff

The changes use the same license as STLplus version 2.5:

> The STLplus library is copyrighted software. Basically I have utter contempt for people who steal other people's creative works and either use it unacknowledged or claim it as their own. So I'm asserting my right to be identified as the author of the original work. You can use, modify and distribute copies of the library provided that it keeps the copyright and license statements. This copyright also protects authors of additions, bug-fixes and other contributions to the library. You can add your own copyright statements for your own contributions to a modified version of the library.

> To achieve the second aim, I have included a disclaimer in the license. Basically software is too complex to guarantee and the majority of software is therefore provided on a best-endeavours, as-is policy. Sadly some people, especially those in the legal profession, don't seem to understand this. So the disclaimer states categorically that you use this software entirely at your own risk. For example, if your product crashes because of a bug in the STLplus library, it is 100% your fault for not testing the product fully. If you don't like that, don't use the STLplus library. Or the STL library, or the C run-time, or any part of the operating system for that matter.

> That's it really. I don't subscribe to the idealism of some open-source advocates who claim that open-source software should only be available to other open-source developers. I want this library to be used by anyone and everyone, well except intellectual property thieves and litiginous idiots. There are therefore no restrictions saying you have to make your products open source as well because I don't believe in that. If you wish to use this library in an open source project, great. If you wish to use it in a closed-source commercial product, equally great.

### Installation

Install STLplus version 2.5. Then unzip STLplus_v2.5_BCB_Patches.zip on top of the freshly installed STLplus 2.5.

### Patches

Details about the patches are provided in The Database Managers' online STLplus article.

### Differences from the article

To keep the article focused and to the point, the library was build in the default ~\IDE\BCB60 folder.

This patch builds the OBJ files in a ~\obj folder. The STLPlus.lib library is built in the ~\lib\ folder.

### How to use the patches

Examples are provided in the ~\examples folder. Using STLplus on a project is very simple:

1. Add the ~\lib\STLplus.lib file to your project.
2. In the Project Options panel, on the Directories/Conditionals tab, add the STLPlus\source folder to the list of Include Paths.
3. In the source file that uses an STLplus component, algorithm or function, either #include <stlplus.hpp> (which defines everything) or include specific .hpp files, such as <hash.hpp>

It's that simple!

### How to rebuild the library

The library has already been pre-built for the C++ Builder 6 default settings. Follow these steps to recompile the library:

1. Open the project group file in ~\IDE\BCB60\STLplus.bpg.
2. Right-click the STLPlus.lib in the Project Manager and choose either Make or Build.
3. The new library is built in the ~\lib folder and it's called STLPlus.lib.

### Recompiling the examples

The Project Group for all of the examples is in the ~\IDE\BCB60\STLPlus.bpg project group file.

Examples can also be loaded individually by choosing the .bpr file in the ~\examples folder.

### Upgrading the core library

This library was created with the expectation that STLplus would be upgraded in the future. The STLplus article at The Database Managers provides details about the changes that were made to upgrade STLplus version 2.5 to be compatible with Borland C++ Builder 6. The next version of STLplus might or might not incorporate those changes.

The basic steps for upgrading the core STLplus library are:

1. Back up everything in your STLplus folder.
2. Download the newest STLplus from the STLplus project on SourceForge.net.
3. Unzip the newest STLplus on top of the existing STLplus folder.
4. Launch Borland C++ Builder 6 and load the ~\IDE\BCB60\STLPlus.bpg project group.
5. Examine the STLplus source files for the changes specified in the Database Managers' STLplus article. If necessary, modify the new STLplus files.
6. Create a new ~\lib\STLPlus.lib library file by recompiling the STLPlus.lib project in Project Manager.