Reliable Software Logo
Home  >C++ Resources   > RSWL Library

RSWL: Free Reliable Software Windows Library

After many request from our visitors, who followed our Windows Tutorials, read the online book C++ In Action, and downloaded our demo programs (not to mention our product, Code Co-op), and were amazed at their small size and functionality, we caved in and decided to release our own C++ Windows Library. This is the library that's based on the object-oriented ideas from "C++ In Action" (the Windows Programming chapter in particular), and which we use in our day-to-day development. We call it Reliable Software Windows Library, or RSWL for short.

The library is free for individual and commercial use. The only restriction is that Reliable Software is the sole distributor of the source code. (The copyright agreement is included in the distribution.)

To learn about RSWL, we have provided a description of a simple test application written using RSWL. This application is also part of the distribution.

To obtain the sources of RSWL follow these steps: If you are using Outlook or Outlook Express, the process is very simple.

  1. Download the special Code Co-op setup and run it. Note: you don't need a license to use it just for obtaining RSWL. The whole process is free! (If you already have Code Co-op, follow the instructions at the bottom of this page.)
  2. Code Co-op will automatically configure itself as email peer, join the project RSWL and send email request to .
  3. Code Co-op dispatcher will then monitor your email for the message containing the source code of RSWL (note: It might take a day or two. The message title starts with "Code Co-op Sync...", and it should be in the "unread" state for the Dispatcher to see it).
  4. You will then execute the script in Code Co-op which will recreate the RSWL source tree on your machine. You can then compile it with Visual Studio 7.1.
  5. After that you'll be getting, through Code Co-op, regular source-code updates (and some acknowledgment scripts).
If you have problems with automatic installation or if you already have Code Co-op installed, follow the instructions at the bottom of this page.

Note: Since the library is free, we cannot provide any support for it. The distribution contains sample Windows applications written using RSWL. Study them (read this article) and use as starting points in your own development. Our forum will be open for discussions about the library.

We will continue making modifications to RSWL and you will be regularly updated via Code Co-op.

If your company would like to use Code Co-op in a similar way to distribute any source code or other files to its clients, please contact us at .

Enjoy! And remember to e-mail your friends about this discovery!

Library Contents

The library is divided into several subdirectories. Here's a short description of their contents:
  • Top level. Miscellaneous utility classes: auto_vector, large integer, string utilities, CRC calculator...
  • Win. Basic infrastructure of a Windows program: handles, message loop, controller, window, window class, dialog...
  • Sys. Operating system: threads, synchronization, DLL, clipboard, timer, date, cryptography...
  • Graph. GDI: canvas (device context), bitmap, font, pen, cursor...
  • Ctrl. Window controls: menu, button, edit, rich edit, list box, toolbar, property sheet...
  • File. File system: file, memory-mapped file, path, directory listing...
  • Net. Network support: net share, socket, FTP, BITS, internet...
  • Com. COM interfaces and Windows Shell: shell file operations, drag and drop...
  • Dbg. Debugging support: debug output, assertion, debug log...
  • Ex. Exceptions, WinError...
  • Mail. SMTP, POP3, Base64
  • Parse. Simple parser infrastructure: named pair, buffered stream...
  • XML. XML parser and XML tree.
  • Unit Test. Unit tester for some of the library components.
  • WinTest. Simple demo with menu and the about dialog.

E-mail your friends

Please modify the text of the message to make it more personal, otherwise spam filters will block it. We don't store or otherwise use the e-mail addresses entered into this form.

Your e-mail:

Friends' e-mail:


Manual procedure

If you have problems with automatic joining of RSWL, follow these steps:
  1. If not already installed, install Code Co-op v. 4.6 (or later) on your machine (download it from -- less than 4MB). Note: you don't need a license to use it just for obtaining RSWL. The whole process is free!

  2. Right-click the Dispatcher icon in the task bar and select Collaboration Wizard to configure Code Co-op as an E-mail Peer (you need to have a MAPI-compliant email program, such as Outlook or Outlook Express).
  3. Open the Code Co-op menu Project and select Join. Fill out the necessary fields. The project name is RSWL.
  4. In the field Who invited you to this project? select Somebody from a different hub or peer, and fill in the following e-mail address:
  5. At this point the Dispatcher should send e-mail to (you should see it in the 'sent items' folder of your e-mail client).

It might take a few days before you get the e-mail message with the title "Code Co-op Sync:...", especially if Radek is on vacation. Code Co-op's Dispatcher will automatically retrieve this message (it must be in the 'unread' state) from your e-mail client and recreate the RSWL source tree on your machine. You can compile it with Visual Studio 7.1.