StatSVN retrieves information from a Subversion repository and
generates various tables and charts describing the project development,
e.g. timeline for the lines of code, contribution of each developer
etc. The current version of StatSVN generates a static suite of
HTML or XDOC documents containing tables and chart images.
XTL is a library of template classes and functions for reading/writing
structured data to/from an external (platform independent) representation.
This process is also usually known as marshalling, serialization or pickling,
and is useful both for heterogeneous network programming and portable
persistent storage.
Currently, XTL supports XDR (Internet standard), GIOP CDR (CORBA standard)
and readable ascii text (write-only) as data formats. Memory buffers and C++
iostreams are usable as data sources/targets. Besides the usual C data types
(basic, structs, pointers, unions), the XTL also supports C++ constructs,
such as pointers to base classes and template types, namely, STL containers.
XTL does not include any kind of IDL, and as such, the programmer is required
to write a "filter" for each data type. The API is somewhat modeled on the
original XDR library by Sun, in that the same filter is used for both reading
and writing. However, heavy usage of templates makes the API simpler and type
safe. Function inlining and careful avoidance of pointers or virtual
functions, also make generated code faster.
Styx is a scanner/parser generator designed to address some
shortcomings of the traditional lex/yacc combination.
It has unique features like automatic derivation of depth grammar,
production of the derivation tree including it's C interface,
preservation of full source information and pretty printing to
facilitate source-source translation, persistence to aid rapid
interpreter writing.
For application in contemporary computing environments, it supports
unicode, reentrancy and offers thread-safeness.
The goal of the Subcommander project is to build an easy to use,
cross platform (Win32, Unix, MacOSX) subversion GUI client (subcommander)
including a visual diff and merge tool (submerge).
SWIG is a tool for automatically generating the wrapper code needed
to link collections of functions written in C/C++ with interpreted
scripting languages. Currently, SWIG supports :
- Tcl
- Python
- Perl5
- Java
- Guile
- MzScheme
- Ruby
- CSharp
- Modula-3
- Allegro CL
- Chicken
Using SWIG, it is possible to greatly simplify interface development
and to put interesting interfaces on existing applications with
little effort.
These are a set of utilities built upon sysfs, a new virtual filesystem
in Linux kernel versions 2.5+ that exposes a system's device tree.
iniparse is a INI parser for Python which is:
- Compatiable with ConfigParser:
Backward compatible implementations of ConfigParser,
RawConfigParser, and SafeConfigParser are included that are
API-compatible with the Python standard library.
They pass all the unit tests in Python-2.4.4.
- Preserves structure of INI files:
Order of sections & options, indentation, comments, and blank
lines are preserved as far as possible when data is updated.
- More convenient:
Values can be accessed using dotted notation (cfg.user.name),
or using container syntax (cfg['user']['name']).
It is very useful for config files that are updated both by users and by
programs, since it is very disorienting for a user to have her config
file completely rearranged whenever a program changes it. iniparse also
allows making the order of entries in a config file significant, which is
desirable in applications like image galleries.
Terminality aims to be a cross-platform terminal manipulation library. It
provides a set of functions which are used to manipulate a text terminal,
functions such as clearing the screen, changing text colours, moving the
cursor, etc.
TinyQ is a stripped down version of Qt 3 that has been put together to use
as a backend library. It provides all the necessary library classes to
comfortably develop in a C++ environment. This includes UTF8 and ASCII
strings, type optimized collections (dictionary, map, cache, vector, list),
regular expressions, filesystem access, URL processing, threads, shared
library handling, user settings, date and time handling, DOM & SAX XML
parsers, optimized data and text streams and abstract IO devices.
XXL is a library for C and C++ that provides exception handling and asset
management. Asset management is integrated with the exception handling
mechanism such that assets may be automatically cleaned up if an exception
is thrown, which allows for much simplified program structure with respect
to error handling.
By allowing XXL to track assets and using its exception handling features,
the programmer no longer has to check error conditions on every function
call and cleanup the assets on failure because XXL does the work.