Skip to content

Borland Type Headers

DryPerspective edited this page Oct 4, 2023 · 2 revisions

One of the main compilers this library was written for was a Borland C++98 compiler, used as part of C++Builder. The C++Builder ecosystem comes with its own library of types which aren't always inherently compatible with standard C++. As such, I provide some headers specifically for this compiler, primarily to help these types interact more smoothly with the rest of this library and the C++ standard; or useful tools added at the request of a user who still uses this compiler regularly. These headers live in the borland subdirectory of the main include path, and will error out if included on a non-borland compiler (more precisely, if __BORLANDC__ is not defined). Note that no non-Borland headers include any of these headers, so they can be safely deleted or omitted if you do not use the borland compiler with no ill effects.

The normal rules about compatibility with Borland as laid out on the wiki's home page apply with or without these headers, but they are of course written such that the full interface quoted here is available on a Borland compiler.

List of headers

  • borland/borland_strings.h - string_view versions for Borland string types UnicodeString and AnsiString, as well as range-access functions for those types.

  • borland/borland_deleters.h - A small collection of deleters for particular borland types, intended as pre-made solutions to use with smart pointers.

  • borland/borland_raii.h - A small collection of tools which exploit RAII pattern to automatically perform some tidyup on scope exit.

Clone this wiki locally