Available C++ Libraries FAQ
Commercial libraries (O-Z)
Vettrasoft Z Directory - General-purpose library of c++ objects
The Z Directory (as of 2010) currently deals with the following subject
matter:
- object - database storage. You can store and retrieve
objects, so their state can extend beyond the lifetime of
a program's run. This is not the same as an o-o database.
The Z Directory provides a simple mechanism for writing
objects to a database, but it does not supply the database.
- data representation. "Data bags" are a way to store data
in text stings. The data may be put into lists or a matrix and can
recurse. The format is defined by a meta-data schema. This may sound
suspiciously like XML. Once again, the data bag concept pre-dated
XML, having existed in the early- to mid-1990's. Whereas XML focuses
on HTML and web applications, data bags are to be used by programs
written in C++.
- message transport. The problem of moving a block of bytes
from one place to another is a major topic in software engineering
usually assigned to the category of networks. the Z Directory has
code to do it with the following defining characteristics: (1)
an address class set is provided to address the topic of defining
a location. There are many types of addresses: internet, web,
computer memory, e-mail, postal, etc. (2) the interface for moving
a block of data over a circuit (a path between an originating and
destination address) has no reference to the implementation.
Typically the mechanism is sockets, but with the Z Directory, this
can also be via shared memory (if within the same host computer),
TLI (if within a system V unix environment), or other transport
system.
- containers. The Z Directory provides template-based
containers to store your data: linked lists, arrays, stacks,
and [coming soon] trees. You will probably immediately think STL.
the Z Directory's container interface is a bit different, and you
might find, simpler. The same member function names are used
irregardless of the implementation. Peering into your data in
a debugger is much easier than with STL. There are other
differences.
- string and text processing.
One common complaint opponents of C++ use is the lack of tools for
managing strings. The Z Directory attacks and destroys this argument.
String operations include regular expression searches; extracting
words, sentences, and quoted text sub-strings; trimming lines;
string to type conversion; monetary formatting; concatenation;
white-space processing; and much more.
- encryption. There are a number of encryption and decryption
algorithms available for encrypting your data, including
Chambers-Rantgen, DES, and Blowfish.
- postal addresses. Strings containing addresses can be
easily parsed. Currently only American addresses are fully
handled. We expect to grow this to encompass all addressing
formats used world-wide.
- mathematics. Several math functions are provided, including
factoring, modulus, GLB and LUB, summation of a series, random
number generation, linear regresion, mean averages, standard
deviations, angle math and conversion (degree - radian), etc.
- time and date. If you ever need to get the current time/date,
and then add or subtract a span of time to/from it, the Z Directory
provides unparalled ease for that. You can add say 1 week 3 days and
15 hours to any given date and get the result with only a couple
lines of code.
- threads and semaphores. In a Microsoft environment,
you would need to use functions such as CreateMutex(),
WaitForSingleObject(), and ReleaseMutex().
In some unix environments, the corresponding calls would be
pthread_mutex_init(), pthread_mutex_lock(), and
pthread_mutex_unlock(). Or, you can use the Z Directory
and use a single function call, instead of learning the
specifics for each operating system to intend to port to.
- clients and servers. There are a set of classes dealing
providing client-server architecture. A dispatch mechanism forwards
a message to your message processing code when it arrives to a
server.
- error processing, logging, tracing and debugging.
An elaborate but general-purpose group of classes help you manage
what to do in case of an error, above and beyond the simple mechanics
embedded in c++. You can create event logs and control when a message
is to be generated. You can control when a message is created, and to
where it is to go.
- Files and directories. In Microsoft, directories are
called folders. Once again, by using the Z Directory you need not
concern yourself with the specifics of any particular operating system.
How to read the contents or traverse them is handled by a simple set
of classes and routines in the Z Directory. Creating, removing,
renaming, opening and closing a file or directory are handled in a
portable fashion. You can do things like add text to a file, get a
line of text or a specific number of characters.
- more, including: e-mail management;
exam questions and answers; money operations; packetization;
HTML operations; and classes for worldy items such as people,
businesses, and telephones.
One fact: Z Directory is devoid of graphics utilities. Writing tools for
GUI programming is a specialized, big, never-ending work sink. We have
decided to focus on more 'framework' issues. Also, there are plenty of
libraries out there dealing with GUIs and graphics.
Operating Systems
Compilers
Added : 2012-04-25 Amended: 2012-04-25 Licensing : Commercial
Vettrasoft Z Directory - General-purpose library of c++ objects- Home page
- Submitted by:Gorth Durak
Add a comment
|
Our ads
Buy gold
Beat the credit crunch - buy gold online - quickly, safely and at low prices
www.bullionvault.com
|