libutil++ v0.2.0 (03/25/12) - http://www.digitalgenesis.com

Change Log:

	v0.2.0 (03/25/12) - Functionality and Performance Enhancements
		- SocketMux now uses shared_ptr to pass Sockets.
		- SocketMux now cleanly supports pthread_cancel by toggling
			PTHREAD_CANCEL_ENABLE and PTHREAD_CANCEL_ENABLE at the internal select().
		- SocketMux now includes new rselect(), wselect(), eselect() and rwselect()
			functions to reduce overhead on simplier workloads.
		- SocketMux now includes epoll() function, which performs better with high
			counts of sockets vs select().
		- SocketMux performance improvements were implemented.
		- Sockets now track if they are in a SocketMux, which is queried with the
			Socket::hasMux() function.
		- Updated Socket to use IPAddressPort, IPAddress and Port classes to
			return local and remote addresses.
		- Implemented IPAddressPort, IPAddress and Port constructors accepting
			sockaddr and sockaddr_storage.
		- Added on-demand cached getString(), c_str() and getHash() functions to
			IPAddressPort, IPAddress and Port.
		- Added UUID class.
		- Included add() function for CommandLine which accepts a long value with
			bounds checking.
		- Improved hash functions for IPAddressPort, IPAddress and Port.

	v0.1.0 (01/21/12) - Initial release
		- Implemented IP Address (v4/v6), Socket, Command Line, Compression,
			Encryption, Logging, String, Time, Interface and Task classes.

# vim: noet ts=2 sw=2
