Review and upgrades
by Curtis Krauskopf
.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. An STLPlus.lib file is in the .zip file.
It also contains three example applications that use
parts of the STLplus library:
- Calc demonstrates the infinite precision integer
calculation module (inf.hpp).
- FileSystemExample demonstrates the file_system.hpp
- HashExample demonstrates the hash.hpp
(hash table) module.
All of the patches were created by Curtis Krauskopf
of The Database
Parts of the examples were taken from code snippets
provided in the STLplus documentation.
The changes use the same license as STLplus version
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 litigious 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.
Install STLplus version 2.5. Then unzip STLplus_v2.5_BCB_Patches.zip
on top of the freshly installed STLplus 2.5.
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 built in the default ~\IDE\BCB60
This patch builds the OBJ files in a ~\obj
folder. The STLPlus.lib
library is built in the ~\lib\
How to use the patches
Examples are provided in the ~\examples
folder. Using STLplus on a project is very simple:
- Add the ~\lib\STLplus.lib
file to your project.
- In the Project Options panel, on the Directories/Conditionals
tab, add the STLPlus\source
folder to the list of Include Paths.
- In the source file that uses an STLplus component,
algorithm or function, either #include
(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. An STLPlus.lib
file is also included in the distribution STLplus_v2.5_BCB_Patches.zip.
If you want to change a compiler setting or need to
upgrade the core library because of an STLplus revision
change, then follow these steps:
- Open the project group file in ~\IDE\BCB60\STLplus.bpg.
- Right-click the STLPlus.lib
in the Project Manager and choose either Make or Build.
- 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
project group file.
Examples can also be loaded individually by choosing
the .bpr file in the ~\examples
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
The basic steps for upgrading the core STLplus library
- Back up everything in your STLplus folder.
- Download the newest STLplus from the STLplus
project on SourceForge.net.
- Unzip the newest STLplus on top of the existing
- Launch Borland C++ Builder 6 and load the ~\IDE\BCB60\STLPlus.bpg
- Examine the STLplus source files for the changes
specified in the Database Managers' STLplus article.
If necessary, modify the new STLplus files.
- Create a new ~\lib\STLPlus.lib
library file by recompiling the STLPlus.lib
project in Project Manager.
Popular C++ topics at The Database Managers: