Jcl Embedded C++ Library
The Jcl C++ library contains a large range of functions and interfaces such
as: threading, streamio, fileio, socketio, parsing, database support, etc. See
below for details. In addition,
numerous third-party package have been
integrated.
The Jcl Library is distributed as part of the
Shift-Right Open Repository,
but can be used independently from the rest of the Repository.
Jcl Top Level Interfaces/Modules
- asx
- Automated Script Expander. This utility takes a set of input values and
a template file and generates an output file by replacing token markers in
the template file with the set of input values.
-
- cmdline
- Command Line argument parser. Object based paradigm for parsing command
line arguments.
-
- containers
- A collection of lists, sets, maps, etc. All containers are intrusive as
they require the contained objects to provide the storage for the 'container
links'.
-
- ctl
- IO and Command infrastructure for the Command Text Language (CTL)
protocol. CTL is a simple text based request/response protocol for
communication between clients and servers.
-
- db.metakit
- Multi-threaded Wrapper for the Metakit database
-
- debug.shell
- A socket based 'debug shell' that can be easily integrated into a
server application to provide debugging, status, backdoor functionality.
-
- devtests
- Developer tests for packages in the Jcl namespace.
-
- errors
- Error Handling interface and infrastructure suitable for multi-threaded
embedded applications.
-
- fileio
- Platform independent file IO interfaces. Also contains implementations
of the interfaces for Posix compliant system (Linux, Solaris, etc.), and
Win32.
-
- logging
- Logging interface and infrastructure suitable for multi-threaded
embedded applications.
-
- memory
- Interfaces for memory allocations. Emphasis has been placed on the
ability to statically allocate memory for future dynamic object creation.
-
- mt
- Provides platform independent interfaces for threading and inter-thread
communications. Also contains implementations of the interfaces for Posix
compliant systems (Linux, Solaris, etc.), XMK, eCos, and Win32.
-
- parsing
- Parsing and formatting engines.
-
- streamio
- Platform independent stream IO interfaces. Also contains implementations
of the interfaces for Posix compliant systems (Linux, Solaris, etc.), and
Win32.
-
- strings
- Yet another String Interface. The interface is defined to be neutral on
how memory is allocated for the concrete String object. Contains concrete
class for both fixed and dynamic allocated memory models.
-
- system.exec
- Platform independent interface to execute a system command. Also
contains implementations of the interfaces for Posix compliant systems
(Linux, Solaris, etc.), and Win32.
-
- system.sleep
- Platform independent interface to pause/sleep a single threaded
application. Also contains implementations of the interfaces for Posix
compliant systems (Linux, Solaris, etc.), and Win32.
-
- time
- Interface and wrappers for the ansi-c time routines. The wrappers
provide the ability to make the time routines thread-safe.
-
- timers.async
- Interface and platform independent implementation for asynchronous
timers.
-
- types
- Collection of general purpose data types and definitions.
-
- xml.dom.tinyxml
- Wrapper to L. Thomason’s TinyXml package.
Third-Party Source Code & Tools
- eCos
- eCos, the embedded Configurable operating system, is an open source
real-time operating system for deeply embedded applications.
- Metakit
- MetaKit is an efficient embedded database library with a small
footprint. It fills the gap between flat-file, relational, object-oriented,
and tree-structured databases, supporting relational joins, serialization,
nested structures, and instant schema evolution.
- Expat
- Expat is an XML parser library written in C. It is a stream-oriented
parser in which an application registers handlers for things the parser
might find in the XML document (like start tags).
- TinyXML
- TinyXml is a simple, small, C++ XML parser that can be easily
integrating into other programs.
- PCRE
- The PCRE library is a set of functions that implement regular expression
pattern matching using the same syntax and semantics as Perl 5. PCRE has its
own native API, as well as a set of wrapper functions that correspond to the
POSIX regular expression API.
- fastdep
- fastdep is a preprocessor which generates dependency information
suitable for Makefile inclusion from C or C++ source files. Meant to run on
slower hardware, it is several orders of magnitude faster than gcc.
- fgetopt
- fgetopt is a drop-in replacement for the POSIX getopt_long(..) routine,
except that it's not quite as slick.
|