Libsmart is a portable C++ system development library.
Libsmart is:
- cross platform: supports MSVC 7.10, GCC3.x (Win32, Cygwin, Linux and Mac OS X)
- reliable: We already used libsmart in projects ranging from Win32/Mac OS X consumer applications to Linux based embedded devices
- modern: STL based, uses exceptions and is exception safe
- smart: minimum component dependencies, uses templates (where appropriate), function overloading and code-generation
You will find the The Reference Documentation here.
If you would like to evaluate pre-beta versions (GPL), please contact us at team (at) libsmart.com
Libsmart’s namespaces:
- smart
- maybe type
- error management using identifiable exceptions
- smart::sys
- synchronisation objects, timers, threads and processes
- delegates/functors
- getopt compatible command line parsing, high level C++ argument scanner
- serial port support
- smart::net
- sockets, connection management, server components
- smart::io
- file path functions
- directory functions
- file IO
- smart::util
- smart pointer
- string support functions (combining, splitting, conversions)
- O(1) id generation and management
- smart::xml
- XML streams, structured XML output, C++ interface to expat, XML document tree
Libsmart’s development tools:
- metatype: protocol specification language and code generator, supports the generation of type-safe discriminated unions, binary serializers and scheme meta-information
- logging: module based logging streams specification language and code generator
- xfront: developer-friendly XML frontend to write XML using ‘{’ and ‘}’ as tag delimiters, includes support for element aliases and combiners