Cxxtools is a collection of general-purpose C++ classes.
Darts: Double-ARray Trie System
This is a C++ template library that implements Double-Array [Aoe
1989]. Currently only Japanese documentation is provided.
* [Aoe1989] Aoe, J. An Efficient Digital Search Algorithm by Using a
Double-Array Structure. IEEE Transactions on Software
Engineering. Vol. 15, 9 (Sep 1989). pp. 1066-1077.
* [Datrie] Theppitak Karoonboonyanan An Implementation of Double-Array
Triehttp://www.links.nectec.or.th/~thep/datrie/
DataDraw is an ultra-fast persistent database for high performance programs
written in C. It's so fast that many programs keep all their data in a
DataDraw database, even while being manipulated in inner loops of compute
intensive applications. Unlike slow SQL databases, DataDraw databases are
compiled, and directly link into your C programs. DataDraw databases are
resident in memory, making data manipulation even faster than if they were
stored in native C data structures (really). Further, they can automatically
support infinite undo/redo, greatly simplifying many applications.
DataDraw databases can be persistent. Modifications to persistent data are
written to disk as they are made, which of course dramatically slows write
times. However, DataDraw databases can also be volatile. Volatile databases
exist only in memory, and only for the duration that your program needs it.
Volatile databases can be directly manipulated faster than C structures,
since data is better organized in memory to optimize cache performance.
DataDraw supports modular design. An application can have one or more common
persistent databases, and multiple volatile databases to support various
tools' data structures. Classes in a tool's database can extend classes in
the common database. DataDraw is also 64-bit optimized, allowing programs to
run much faster and in less memory than standard C programs using 64-bit
pointers. This is because DataDraw databases support over 4 billion objects
of a given class with 32-bit object references.
DCMTK is a collection of libraries and applications implementing large parts
of the DICOM standard. DCMTK includes software for examining, constructing and
converting DICOM image files, handling offline media, sending and receiving
images over a network connection, as well as demonstrative image storage and
worklist servers. DCMTK comes in complete source code and is written in a
mixture of ANSI C and C++.
The libdisasm library provides basic disassembly of Intel x86
instructions from a binary stream. The intent is to provide an easy to
use disassembler which can be called from any application; the
disassembly can be produced in AT&T syntax and Intel syntax, as well as
in an intermediate format which includes detailed instruction and
operand type information.
DITrack is a free, open source, lightweight, distributed issue (bug,
defect, ticket) tracking system using a Subversion repository instead
of a backend database. It is written in Python and runs in UNIX
environment (*BSD, Linux, MacOS X).
dot.conf is a simple configuration-file parser library written in C.
The configuration files created for dot.conf look very similar to
those used by the Apache Webserver. Even Container-Directives known
from httpd.conf can easily be used in the exact same manner as for
Apache-Modules. It supports various types of arguments, dynamically
loadable modules that create their own configuration options
on-the-fly, a here-documents feature to pass very long ARG_STR data
to your app, ${NAME:-default} style environment variable
substitution for arguments, and on-the-fly inclusion of additional
config files. Some behaviour can be toggled with flags at runtime.
To keep dotconf from printing out warnings, you can install your
own customized error handler.
DParser is a simple but powerful tool for parsing. You can specify the form of
the text to be parsed using a combination of regular expressions and grammar
productions. Because of the parsing technique (technically a scannerless GLR
parser based on the Tomita algorithm) there are no restrictions. The grammar
can be ambiguous, right or left recursive, have any number of null productions,
and because there is no separate tokenizer, can include whitespace in terminals
and have terminals which are prefixes of other terminals. DParser handles not
just well formed computer languages and data files, but just about any wacky
situation that occurs in the real world.
Dynamic programming is a simple yet powerful technique for solving optimisation
problems. When the problem at hand can be split in smaller problems, such that
the smaller solutions of an optimal solution are themselves optimal, dynamic
programming can be used to avoid re-calculating solutions to shared sub-
problems.
Simple problems are both easily specified and easily implemented, but for
complex problems translating the specification of the problem into the
implementation of the dynamic programming algorithm becomes tedious and error
prone. The goal of DPROG is to alleviate this by automatically translating the
specification of the problem into an implementation of the solution.
The DPROG language is designed to be close to the ``mathematical'' notation
used for expressing recurrences, thus making it easier to specify the problem.
Using the DPROG compiler, the manual implementation step can be completely
avoided.
Easy GIT is a single-file wrapper script for git, designed to make
git easy to learn and use.