# The UDS Collection

## Introduction

The UDS (Useful Development Stuff) Collection is a C++ library that assists you while developing and debugging programs. It was developed as part of Frost. Features were only added when needed, but it provides already a nice bunch of features.

Features:

- Automatic search for memory leaks
- Logging of memory [de]allocations
- Zombie objects
- Backtraces at runtime (new)
- Exception system for (almost) fatal errors. A core can be dumped when the exception is thrown. (updated)
- Action, FinalAction, and VRemember
- Function objects that are more flexible than STL function objects
- Threads, Mutexes, Semaphores Posix Threads wrapper classes
- Socket classes for both connection and packet oriented protocols (updated)
- ProcStream class
- Classes for reference counting that make it easy to implement copy-on-write and garbage collection.
- Simple pseudo-random number generators
- Several "convenience functions" to create temporary file names; open files, fork, wait etc. and throw an exception if something goes wrong
- M4 macros A set of useful macros for your configure.in (new)

This documentation is divided into the following sections:

- Download and Installation describes how to download, configure, and install the software
- Features Brief description of UDS
- Configuring UDS shows how to configure UDS in your programs (updated)
- Contributing tells you how to contribute to the UDS Collection
- Release Notes
- History a brief history of the UDS Collection (contains older News)

For bugreports, improvements, and questions mail to frost@flewid.de

## News

(dd.mm.yyyy)

09.05.2001
  Version 0.9.5 released
05.04.2001
  UDS provides a function that generates backtraces at runtime.
29.03.2001
  Version 0.9.4 released
22.01.2001
  Version 0.9.3 released

## License

Copyright © 1999, 2000, 2001 by Julian v. Bock

This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

## Acknowledgements

I would like to thank the following persons for their support

- Morpheus and Bastian Wilhelms from flewid media for webspace