LCG Project | LCG Applications Area | |
$Date: 2004/07/06 14:16:11 $ |
SealBase is a foundation library, containing a large variety of utility 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 |
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.