SealBase

LCG Project | LCG Applications Area

SEAL Project | Project Portal

 

$Date: 2004/07/06 14:16:11 $

SealBase: Basic Foundation Library

SealBase  is a foundation library, containing a large variety of utility classes.

SealBase Classes

Here is a list of the classes present in the SealBase library grouped according to functionality with links to the Doxygen reference documentation and to usage examples from the tests present in the repository.

The Seal utility candidate inventory contains in addition classes for other providers (Boost, COBRA, etc...)

Basic abstraction utilities Foundation utilities Miscellanea

String and Text Processing

Formatting and string parsing
* LongLong iostream operators for "long long" types Examples
. StringFormat Comment: To be unified; nicer syntax than boost format, but more limited Examples
Regular expressions
* Regexp, RegexpMatch Perl (PCRE), POSIX and Bourne shell filename patternregular expressions Examples
* StringOps Common string operations (find, replace, join, split, ...) Examples
Tokenisation
* StringOps String splitting, sectioning Examples
* Argz Secure tokenisation and construction of command lines Examples

Containers

Custom container types
* PODVector std::vector-like container that is a POD Examples
Tuples and holders
* Range Range object Examples
* Sequence Sequence number generator Examples

Iterators

Iterator adaptors
* MapValueIterator std::map iterator to extract values only Examples
* MapUniqueIterator std::multimap iterator to skip duplicate keys Examples
Bit/data extraction tools
* BitIterator Extracting bits from raw data Examples
Tokenisers

Memory management

Smart pointers
. Unwind Simple auto_ptr replacement Examples
Memory management
* LowMemoryPool Graceful degradation in case of memory exhaustion Examples
* DebugAids Memory validation for robustness Examples

Higher-order programming

Callback objects
. Callback Callback (replace with boost if it works well enough) Examples
. Hook Callback with return value (replace with boost if...) Examples
. HookList Callback list with abortable processing (use boost if...) Examples

Greenspun

* MultiMethod Multi-methods (functions polymorphic in 1..n arguments) Examples

Bits and numerics

* BitIterator Iterate over bits in raw data Examples
* BitOps Bit-level operations (ceiling, log, parity, reverse, ...) Examples
* BitPattern Compile-time bit pattern construction Examples
* BitTraits Bit properties of types Examples
* IntBits Platform-indepedent type selection by bit width Examples
* LongLong Platform-independent "long long" type and constants Examples
* IntTraits Numeric properties of integral types Examples

Debugging and robustness

* DebugAids Assertions Examples
* DebugAids Memory Validation Examples
* DebugAids Stack trace Examples
* DebugAids Programmatic core dump Examples
* Log Debugging-oriented logging Examples
* Signal Crash protection Examples
* LowMemoryPool Low memory protection Examples
* SaveErrno Save globals (errno) Examples

Extended type information

* XTypeInfo Extensible std::type_info; Minimal meta-class information Examples

Exceptions

* Error Exception base type Examples

System abstraction

Basic system ABI
* LongLong ABI types Examples
* IntBits ABI types Examples
* IntTraits ABI types Examples
* BitTraits ABI types Examples
Information
* HostInfo Host information, DNS lookup Examples
* InetAddress DNS lookup Examples
* ProcessInfo Process information Examples
* ResourceInfo Program and system resource limits and usage Examples
* SystemInfo System characteristics and resources Examples
* UserInfo User info Examples
System calls
* Signal Signal Handling Examples
* SharedLibrary Dynamic linker, libraries present in program image Examples
* SystemError Errors Examples
* IOChannel System file descriptor-based I/O object Examples
* SubProcess Subprocess invocation, pipe indirection Examples
* Argz Secure tokenisation and construction of command lines Examples
Environment
* ShellEnvironment Environment Examples

Basic I/O

Basic abstractions
* IOTypes Basic I/O types (sizes, offsets) Examples
* IOBuffer User data buffer for I/O operations Examples
* IOError I/O errors Examples
* IOInput Abstract I/O input base class Examples
* IOOutput Abstract I/O output base class Examples
* IOChannel System file descriptor-based I/O object Examples
* IOChannelPair Base class for a pair of connected I/O channels Examples
* IOStatus Information on a file, device or a file descriptor Examples
* Storage Abstract file-like storage base class Examples
File system operations
* DirIterator Scan directory contents Examples
* Filename File name and file system operations Examples
* FileNameLock File name-based co-operative locking Examples
Files
* File Disk-based files, named pipes Examples
* TempFile Secure temporary file and directory handling Examples
* Filename File name and file system operations Examples
* FileAcl File permissions Examples
* FileMapping Memory mapping files, anonymous mappings Examples
* FileLock Advisory file locking Examples
* FileNameLock File name-based co-operative locking Examples
Locating files
* SearchPath Search for files in a list of directories Examples
* Filename File name and file system operations Examples
* DirIterator Scan directory contents Examples
Memory-mapping
* FileMapping Memory mapping files, anonymous mappings Examples

IPC and Networking

Abstractions
* IOChannelPair Base class for a pair of connected I/O channels Examples
* IOSelector Platform-independent I/O listener and dispatcher Examples
Dispatching
* IOSelector Platform-independent I/O listener and dispatcher Examples
Sockets
* Socket Socket base class Examples
* SocketPair Pair of sockets connected to each other Examples
* InetAddress TCP/IP network host address Examples
* InetSocket TCP/IP socket Examples
* InetServerSocket TCP/IP listening "server" socket Examples
* LocalAddress Unix domain socket address (file system name) Examples
* LocalSocket Unix domain socket (file system socket) Examples
* LocalServerSocket Unix domain listening "server" socket Examples
Pipes and subprocesses
* NamedPipeServer Named (file system) pipe Examples
* Pipe Anonymous pipe Examples
* SubProcess Subprocess invocation, pipe indirection Examples
* Argz Secure tokenisation and construction of command lines Examples
Temporary files
* TempFile Secure temporary file and directory handling Examples

Time

* Time, TimeSpan High-resolution calendar time Examples
* TimeInfo High-resolution performance timing Examples

Unclassified

. Environment Environment Examples
. Range Range Examples
. Sequence Generators Examples
* UUID UUID Examples

Examples of Usage

Here are some additional examples of usage for SealBase classes

More examples on the usage of SealBase can be found looking at the tests present in the repository.


Contact: Lassi A. Tuura