Welcome to Libsmart

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 conventions

I compiled a list of our development conventions used in Libsmart. You may adapt these for your own projects.

A C++ container for non-copyable objects

Elists are a useful tool to organise non-copyable C++ objects is multiple lists.

Roadmap to version 1.0 GPL

We have compiled a roadmap showing what we need to do prior to the 1.0 release of Libsmart. Here you will find all the modules and technologies we are currently working at to complete Libsmart.

Build and configure libsmart using the Microsoft C++ IDE

To build libsmart with the Microsoft IDE installed, you just have to load the libsmart.vcproj file into our IDE.

Libsmart's argument scanner

So you are all enthusiastic users of getopt() and think this is a good way to parse command line arguments? Wait, Libsmart provides you with a more C++‘ish way to specify command line parsing using the smart/util/argscan module.

XFront

xfront is a small tool to create XML files by using an alternative C/C++/Java style syntax.

If you are interested in xfront, here is an overview how to use it (html, pdf) and the source of the document.

xfront is part of Libsmart

Metatype's discriminated unions

For the readers not knowing, Metatype is a data-type definition language and a C++ code generator. Metatype may be used for the specification and implementation complex data protocols. Compared to other data definition languages, Metatype has one speciality: It supports the declaration and generation of discriminated unions. Update: included example for constructing unions.

Libsmart Status

Update: 20041105 We are not offering any downloads yet, please stay tuned, registered users will get a notification by Email when the first GPL version is available for download.

Update: 20041023 The smart::net namespace reference documentation is now complete and we continue to update and review smart::sys. Please consult the reference documentation for updates. Because of some projects we are working at, the progress is much slower than we expected. Many thanks must go to our early customers for giving us so much feedback.

Syndicate content