Overview Overview
Design & Implementation Written in modern, standard ANSI C++, using the C++ Standard Library. Modular design, very few external dependencies, builds out-of-the-box. Good mix of "classic" object-oriented design with modern C++. Clean, easy-to-understand code (we frequently get compliments on that), consistent coding style, comprehensive test suite.
Platforms Desktop/Server: Windows, Linux, Mac OS X, Solaris, HP-UX, AIX
Embedded/Mobile: Windows Embedded CE, Embedded Linux (uClibc or glibc), iOS, Android, QNX, VxWorks
Minimum system requirements: 75 MHz ARM9, 8 MB RAM (Embedded Linux).
License Boost Software License 1.0
Core Features Any and DynamicAny classes for dynamic typing
cache framework
date and time
events (signal/slot mechanism) and notifications framework
regular expressions (based on PCRE)
shared libraries and class loading
smart pointers and memory management (buffer, pool)
string formatting and string utilities
Compression stream classes for zlib-based compression/decompression
ZIP file creation and extraction
Cryptography cryptographic hashes
X509 certificate handling
symmetric and RSA ciphers
streams for encryption and decryption
based on OpenSSL
Database unified access to different SQL databases (SQLite, MySQL, ODBC)
automatic data type mappings
collections support (std::vector, std::set, std::map, etc.)
record sets and tuples
session pooling
MongoDB and Redis clients
Filesystem platform-independent path construction and manipulation
directory listing
directory change notifications
file attributes
Logging extensible logging framework with pluggable log channels and message formatters
console logging, log files, syslog, remote syslog, Windows event log service
Multithreading thread and thread synchronization classes
thread pool
work queues
active objects and activities
task management
Network stream, datagram, multicast, server, Unix domain and raw sockets
TCP Server framework (multithreaded)
reactor server framework
HTTP(S) client and server framework
HTTP Basic and Digest authentication
C++ server page compiler for embedding C++ code into HTML pages
FTP client
SMTP and POP3 client for sending and receiving email
URI and UUID handling
HTML forms processing
MIME multipart messages
SSL/TLS support based on OpenSSL
WebSocket (RFC 6455) client and server
Processes and IPC launching and stopping processes
process synchronization
shared memory
Streams Base64 and HexBinary encoding/decoding
compression (zlib)
line ending conversion
memory streams
text encoding conversions
URI stream opener
Text Encodings UTF-8 and Unicode handling
text encodings and conversions
character classifications
Utility Classes frameworks for command-line and server applications
command-line options handling
configuration file parsing
unix daemons and windows services
XML and JSON fast XML parsing based on Expat
SAX2 (Simple API for XML, version 2) parser
DOM (Document Object Model, Level 1-3) parser
XML writer
JSON parser and writer