Projects / Standard Portable Library

Standard Portable Library

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.

Operating Systems

Recent releases

  •  14 Apr 2012 18:54

    Release Notes: This release improves the string hash function, changes hash functions to unsigned, makes String::Split() return an empty vector if there's an empty string, adds the spl namespace to all classes (clients must use "using namespace spl;"), fixes an infinite loop in Vector::RemoveElementAt(0) when there's only one element in the Vector, fixes a segfault in Environment::UserName in Linux auto-logon, removes inappropriate use of a volatile keyword, changes the sync primitive for Thread::Join from Mutex to Event, and adds Environment::FreeMemory().

    •  02 May 2010 15:44

      Release Notes: This release fixes GCC 4.4 compilation and various bugs.

      •  30 Apr 2010 13:44

        Release Notes: This release adds an example commandline program to send messages to a syslog server and fixes various bugs, including UDP client socket issues and Log sending to syslog.

        •  26 Apr 2010 04:33

          Release Notes: UDP socket and UDP threaded server support were added. The Log class was refactored to use the syslog format and to optionally send to a syslog server. Environment ProcessName and NewLine were added. Various bugs were fixed.

          •  14 Apr 2010 03:18

            Release Notes: A subset of XPath expressions was implemented for XML node selection. Bugs in List were fixed. A JavaScript lexer was added for future script engine support.


            Project Spotlight


            A Fluent OpenStack client API for Java.


            Project Spotlight

            TurnKey TWiki Appliance

            A TWiki appliance that is easy to use and lightweight.