The Standard Portable Library (SPL) is a smart pointer based, cross platform application framework. It is intended to be used instead of STL, and has an API that should be familiar to .NET and Java programmers. It includes basic types such as Date and DateTime, runtime pointer debugging, collection templates, file I/O, networking, database access, threading, and XML parsing.