|
Formatting and string parsing |
 |
format |
Type-safe 'printf-like' format operations |
Boost |
 |
lexical_cast |
Consistent common conversion |
Boost |
 |
LongLong |
iostream operators for "long long" types |
SealBase |
 |
StringFormat |
Comment: To be unified; nicer syntax than boost format, but more limited |
SealBase |
 |
ioutils |
Comment: boost format and lexical_cast to be performance tested |
COBRA |
Regular expressions |
 |
Regexp,
RegexpMatch |
Perl (PCRE),
POSIX
and Bourne
shell filename patternregular expressions |
SealBase |
 |
StringOps |
Common string operations (find, replace, join, split, ...) |
SealBase |
 |
Regex++ |
Comment: Prefer PCRE regex engine |
Boost |
Tokenisation |
 |
StringOps |
String splitting, sectioning |
SealBase |
 |
Argz |
Secure tokenisation and construction of command lines |
SealBase |
 |
Tokenizer |
Comment: Iterator interface, more options, check performance |
Boost |
 |
SimpleTokenizer |
Comment: Prefer boost, merge with StringOps, or retains separate iterator? |
HepUtilities |
|
|
Custom container types |
 |
array |
Constant-size array, optimised for size invariance |
Boost |
 |
multi_array |
Multi-dimensional arrays |
Boost |
 |
graph |
Graph |
Boost |
 |
property_map |
Property map |
Boost |
 |
PODVector |
std::vector-like container that is a POD |
SealBase |
 |
TSqueue |
Producer-consumer queue with throttling |
COBRA |
 |
MTmap |
Thread-safe map |
COBRA |
 |
HashVector |
Hash table |
COBRA |
Bitsets |
 |
dynamic_bitset |
Dynamic bitset |
Boost |
 |
BitArray |
Static bitset |
COBRA |
 |
BitVector |
Dynamic bitset |
COBRA |
Tuples and holders |
 |
any |
Dynamically typed variable |
Boost |
 |
tuple |
Multiple return values (tuple) |
Boost |
 |
Range |
Range object |
SealBase |
 |
Sequence |
Sequence number generator |
SealBase |
|
Iterators |
General |
 |
multi_array |
Multi-dimensional arrays |
Boost |
 |
graph |
Graph |
Boost |
Iterator adaptors |
 |
iterator_adaptors |
Iterator adaptors |
Boost |
 |
deref_iterator |
Automatically dereference pointers (for containers of pointers) |
COBRA |
 |
MapValueIterator |
std::map iterator to extract values only |
SealBase |
 |
MapUniqueIterator |
std::multimap iterator to skip duplicate keys |
SealBase |
Bit/data extraction tools |
 |
BitIterator |
Extracting bits from raw data |
SealBase |
Tokenisers |
 |
Tokenizer |
Comment: Iterator interface, more options, check performance |
Boost |
 |
SimpleTokenizer |
Comment: Prefer boost, merge with StringOps, or retains separate iterator? |
HepUtilities |
Utilities for building custom iterators |
 |
operators |
Templates for iterators |
Boost |
|
Algorithms |
 |
graph |
Graph |
Boost |
 |
operators |
Templates for arithmetic types |
Boost |
Memory management |
Smart pointers |
 |
smart_ptr |
Smart pointers |
Boost |
 |
Loki smart pointer |
Comment: Superset of Boost |
Loki |
 |
Unwind |
Simple auto_ptr replacement |
SealBase |
 |
own_ptr |
Simple auto_ptr replacement |
COBRA |
Memory management |
 |
pool |
Segragated storage (memory pools) |
Boost |
 |
LowMemoryPool |
Graceful degradation in case of memory exhaustion |
SealBase |
 |
DebugAids |
Memory validation for robustness |
SealBase |
|
Higher-order programming |
Callback objects |
 |
function |
Callback (rich but need to verify compiler support) |
Boost |
 |
signals |
Signals and slots (rich but need to verify compiler support) |
Boost |
 |
Callback |
Callback (replace with boost if it works well enough) |
SealBase |
 |
Hook |
Callback with return value (replace with boost if...) |
SealBase |
 |
HookList |
Callback list with abortable processing (use boost if...) |
SealBase |
Other function objects |
 |
bind1st, bind2nd, ... |
Basic function adaptors |
C++ |
 |
functional |
Improved function adaptors |
Boost |
 |
bind,mem_fn,
ref |
Binders |
Boost |
 |
compose |
Function composition |
Boost |
 |
lambda |
Anonymous functions |
Boost |
|
Generic programming |
 |
call_traits |
Deduce best way to pass a parameter |
Boost |
 |
type_traits |
Properties, relationships and transformations of types |
Boost |
 |
concept_check |
Template argument conformance ("concept") checks |
Boost |
 |
static_assert |
Compile-time assertion of constant expressions |
Boost |
 |
mpl |
Meta-programming framework |
Boost |
|
|
 |
MultiMethod |
Multi-methods (functions polymorphic in 1..n arguments) |
SealBase |
 |
MultiMethod |
Another multi-method implementation |
Loki |
 |
tuple |
Multiple return values (tuple) |
Boost |
 |
mpl |
Meta-programming framework |
Boost |
 |
Tuple |
Comment: Look at it |
Loki |
|
Bits and numerics |
 |
BitIterator |
Iterate over bits in raw data |
SealBase |
 |
BitOps |
Bit-level operations (ceiling, log, parity, reverse, ...) |
SealBase |
 |
BitPattern |
Compile-time bit pattern construction |
SealBase |
 |
BitTraits |
Bit properties of types |
SealBase |
 |
IntBits |
Platform-indepedent type selection by bit width |
SealBase |
 |
LongLong |
Platform-independent "long long" type and constants |
SealBase |
 |
IntTraits |
Numeric properties of integral types |
SealBase |
 |
PackSignedInt |
Pack signed bit fields |
COBRA |
 |
UnPackSignedInt |
Unpack signed bit fields |
COBRA |
|
Debugging and robustness |
 |
DebugAids |
Assertions |
SealBase |
 |
DebugAids |
Memory Validation |
SealBase |
 |
DebugAids |
Stack trace |
SealBase |
 |
DebugAids |
Programmatic core dump |
SealBase |
 |
Log |
Debugging-oriented logging |
SealBase |
 |
Signal |
Crash protection |
SealBase |
 |
LowMemoryPool |
Low memory protection |
SealBase |
 |
SaveErrno |
Save globals (errno) |
SealBase |
|
Extended type information |
 |
XTypeInfo |
Extensible std::type_info; Minimal meta-class information |
SealBase |
|
Exceptions |
 |
Error |
Exception base type |
SealBase |
|
Concurrency |
 |
thread |
Threads and synchronisation |
Boost |
 |
ThreadUtils |
Higher-level abstractions on top of boost |
COBRA |
 |
TSqueue |
Producer-consumer queue with throttling |
COBRA |
|
System abstraction |
Basic system ABI |
 |
LongLong |
ABI types |
SealBase |
 |
IntBits |
ABI types |
SealBase |
 |
IntTraits |
ABI types |
SealBase |
 |
BitTraits |
ABI types |
SealBase |
Information |
 |
HostInfo |
Host information, DNS lookup |
SealBase |
 |
InetAddress |
DNS lookup |
SealBase |
 |
ProcessInfo |
Process information |
SealBase |
 |
ResourceInfo |
Program and system resource limits and usage |
SealBase |
 |
SystemInfo |
System characteristics and resources |
SealBase |
 |
UserInfo |
User info |
SealBase |
System calls |
 |
Signal |
Signal Handling |
SealBase |
 |
SharedLibrary |
Dynamic linker, libraries present in program image |
SealBase |
 |
SystemError |
Errors |
SealBase |
 |
IOChannel |
System file descriptor-based I/O object |
SealBase |
 |
SubProcess |
Subprocess invocation, pipe indirection |
SealBase |
 |
Argz |
Secure tokenisation and construction of command lines |
SealBase |
Environment |
 |
ShellEnvironment |
Environment |
SealBase |
 |
envUtil |
Environment |
COBRA |
|
Basic I/O |
Basic abstractions |
 |
IOTypes |
Basic I/O types (sizes, offsets) |
SealBase |
 |
IOBuffer |
User data buffer for I/O operations |
SealBase |
 |
IOError |
I/O errors |
SealBase |
 |
IOInput |
Abstract I/O input base class |
SealBase |
 |
IOOutput |
Abstract I/O output base class |
SealBase |
 |
IOChannel |
System file descriptor-based I/O object |
SealBase |
 |
IOChannelPair |
Base class for a pair of connected I/O channels |
SealBase |
 |
IOStatus |
Information on a file, device or a file descriptor |
SealBase |
 |
Storage |
Abstract file-like storage base class |
SealBase |
File system operations |
 |
DirIterator |
Scan directory contents |
SealBase |
 |
Filename |
File name and file system operations |
SealBase |
 |
FileNameLock |
File name-based co-operative locking |
SealBase |
Files |
 |
File |
Disk-based files, named pipes |
SealBase |
 |
TempFile |
Secure temporary file and directory handling |
SealBase |
 |
Filename |
File name and file system operations |
SealBase |
 |
FileAcl |
File permissions |
SealBase |
 |
FileMapping |
Memory mapping files, anonymous mappings |
SealBase |
 |
FileLock |
Advisory file locking |
SealBase |
 |
FileNameLock |
File name-based co-operative locking |
SealBase |
Locating files |
 |
SearchPath |
Search for files in a list of directories |
SealBase |
 |
FileInPath |
Search for files in a list of directories |
COBRA |
 |
Filename |
File name and file system operations |
SealBase |
 |
DirIterator |
Scan directory contents |
SealBase |
Memory-mapping |
 |
FileMapping |
Memory mapping files, anonymous mappings |
SealBase |
|
IPC and Networking |
Abstractions |
 |
IOChannelPair |
Base class for a pair of connected I/O channels |
SealBase |
 |
IOSelector |
Platform-independent I/O listener and dispatcher |
SealBase |
Dispatching |
 |
IOSelector |
Platform-independent I/O listener and dispatcher |
SealBase |
Sockets |
 |
Socket |
Socket base class |
SealBase |
 |
SocketPair |
Pair of sockets connected to each other |
SealBase |
 |
InetAddress |
TCP/IP network host address |
SealBase |
 |
InetSocket |
TCP/IP socket |
SealBase |
 |
InetServerSocket |
TCP/IP listening "server" socket |
SealBase |
 |
LocalAddress |
Unix domain socket address (file system name) |
SealBase |
 |
LocalSocket |
Unix domain socket (file system socket) |
SealBase |
 |
LocalServerSocket |
Unix domain listening "server" socket |
SealBase |
Pipes and subprocesses |
 |
NamedPipeServer |
Named (file system) pipe |
SealBase |
 |
Pipe |
Anonymous pipe |
SealBase |
 |
SubProcess |
Subprocess invocation, pipe indirection |
SealBase |
 |
Argz |
Secure tokenisation and construction of command lines |
SealBase |
Temporary files |
 |
TempFile |
Secure temporary file and directory handling |
SealBase |
|
Stream-oriented I/O |
Abstractions and utilities |
 |
InputStream |
Abstract byte input stream |
SealIOTools |
 |
OutputStream |
Abstract byte output stream |
SealIOTools |
 |
FilterInputStream |
Abstract filter input stream |
SealIOTools |
 |
FilterOutputStream |
Abstract filter output stream |
SealIOTools |
 |
Storage |
Abstract file-like storage |
SealBase |
 |
CustomStreamBuf |
Help for std::streambuf-derived types |
SealIOTools |
 |
PushBackBuffer |
Utility for read buffers with push-back capability |
SealIOTools |
 |
ReadBuffer |
Utility for bare read buffers |
SealIOTools |
 |
ReadWriteBuffer |
Utility for combined read/write buffers with push-back |
SealIOTools |
 |
WriteBuffer |
Utility for bare write buffers |
SealIOTools |
Intermediaries |
 |
BufferInputStream |
Input stream filter that buffers reads |
SealIOTools |
 |
BufferOutputStream |
Output stream filter that buffers writes |
SealIOTools |
 |
PushBackInputStream |
Input stream filter with push-back capability |
SealIOTools |
 |
PipedInputStream |
Pair of streams connected by a pipe |
SealIOTools |
 |
PipedOutputStream |
Pair of streams connected by a pipe |
SealIOTools |
 |
StorageInputStream |
Input stream that reads from a Storage |
SealIOTools |
 |
StorageOutputStream |
Output stream that writes into a Storage |
SealIOTools |
Bindings |
 |
IOChannelInputStream |
Input stream bridge to IOChannel |
SealIOTools |
 |
IOChannelOutputStream |
Output stream bridge to IOChannel |
SealIOTools |
 |
IOChannelStreamBuf |
std::streambuf bridge to IOChannel |
SealIOTools |
 |
InputStreamBuf |
std::streambuf bridge to InputStream |
SealIOTools |
 |
OutputStreamBuf |
std::streambuf bridge to OutputStream |
SealIOTools |
 |
MemoryStorage |
In-memory buffer implementation of Storage |
SealIOTools |
 |
StdInputStream |
Input stream bridge to std::istream |
SealIOTools |
 |
StdOutputStream |
Output stream bridge to std::ostream |
SealIOTools |
 |
StdStorage |
Storage bridge to std::iostream |
SealIOTools |
 |
StdioStorage |
Storage bridge to C STDIO "FILE *" |
SealIOTools |
 |
StorageStreamBuf |
std::streambuf bridge to a Storage |
SealIOTools |
Storage |
 |
Storage |
Abstract file-like storage |
SealBase |
 |
MemoryStorage |
In-memory buffer implementation of Storage |
SealIOTools |
 |
StdStorage |
Storage bridge to std::iostream |
SealIOTools |
 |
StdioStorage |
Storage bridge to C STDIO "FILE *" |
SealIOTools |
 |
StorageStreamBuf |
std::streambuf bridge to a Storage |
SealIOTools |
|
Compression |
Engines |
 |
Compressor |
Abstract base class for a compression engine |
SealZip |
 |
Decompressor |
Abstract base class for a decompression engine |
SealZip |
 |
InteractiveCompressor |
Interactive (piece-wise) compressor adaptor |
SealZip |
 |
InteractiveDecompressor |
Interactive (piece-wise) decompressor adaptor |
SealZip |
 |
BZCompressor |
BZIP compressor engine |
SealZip |
 |
BZDecompressor |
BZIP decompressor engine |
SealZip |
 |
ZCompressor |
ZLIB compressor engine |
SealZip |
 |
ZDecompressor |
ZLIB decompressor engine |
SealZip |
Stream I/O |
 |
CompressOutputStream |
Compressing FilterOutputStream |
SealZip |
 |
DecompressInputStream |
Decompressing FilterInputStream |
SealZip |
 |
BZIPInputStream |
BZIP-decompressing FilterInputStream |
SealZip |
 |
BZIPOutputStream |
BZIP-compressing FilterOutputStream |
SealZip |
 |
ZInputStream |
ZLIB-decompressing FilterInputStream |
SealZip |
 |
ZOutputStream |
ZLIB-compressing FilterOutputStream |
SealZip |
 |
GZIPInputStream |
GZIP-decompressing FilterInputStream |
SealZip |
 |
GZIPOutputStream |
GZIP-compressing FilterOutputStream |
SealZip |
 |
ZipInputStream |
ZIP archive FilterInputStream reader |
SealZip |
 |
ZipOutputStream |
ZIP archive FilterOutputStream writer |
SealZip |
Files |
 |
ZipMember |
Member of a ZIP archive |
SealZip |
 |
ZipArchive |
Random-access ZIP archive using a Storage |
SealZip |
 |
ZipInputStream |
ZIP archive FilterInputStream reader |
SealZip |
 |
ZipOutputStream |
ZIP archive FilterOutputStream writer |
SealZip |
|
Data validation |
Digests |
 |
Digest |
Abstract base class for a digest generator |
SealZip |
 |
MD5Digest |
MD5 (RFC 1321) message digest |
SealZip |
 |
SHA1Digest |
SHA1 (RFC 3174) message digest |
SealZip |
Checksumming |
 |
Checksum |
Abstract base class for a checksum generator |
SealZip |
 |
Adler32 |
Adler-32 checksum generator |
SealZip |
 |
CRC32 |
CRC-32 checksum generator |
SealZip |
 |
CheckedInputStream |
Checksumming FilterInputStream |
SealZip |
 |
CheckedOutputStream |
Checksumming FilterOutputStream |
SealZip |
|
Archive files |
 |
CPIOInputStream |
CPIO archiveFilterInputStream reader |
SealZip |
 |
CPIOOutputStream |
CPIO archiveFilterOutputStream writer |
SealZip |
 |
CPIOMember |
Member of a CPIO archive |
SealZip |
 |
TarInputStream |
TAR archiveFilterInputStream reader |
SealZip |
 |
TarOutputStream |
TAR archiveFilterOutputStream writer |
SealZip |
 |
TarMember |
Member of a TAR archive |
SealZip |
 |
ZipInputStream |
ZIP archiveFilterInputStream reader |
SealZip |
 |
ZipOutputStream |
ZIP archiveFilterOutputStream writer |
SealZip |
 |
ZipMember |
Member of a ZIP archive |
SealZip |
 |
ZipArchive |
Random-accessZIP archiveusing a Storage |
SealZip |
|
Time |
 |
Time,
TimeSpan |
High-resolution calendar time |
SealBase |
 |
SimpleTime |
Calendar time |
HepUtilities |
 |
date_time |
Calendar time |
Boost |
 |
TimeInfo |
High-resolution performance timing |
SealBase |
 |
timer |
|
Boost |
 |
xtime |
|
Boost |
 |
TimeMe |
Timing: implement in services layer |
COBRA |
 |
TimeReport |
Timing report: implement in services layer |
COBRA |
 |
GenTimer |
|
COBRA |
 |
HepTime |
|
COBRA |
 |
HepTimer |
|
COBRA |
 |
CMSTime |
|
COBRA |
 |
CMSTimer |
|
COBRA |
 |
LinuxCPUTime |
Timing: implement different timers in services layer |
COBRA |
|
Testing |
 |
test |
Testing |
Boost |
|
CLHEP functionality |
 |
Hep* |
Matrices |
CLHEP |
 |
array |
Matrices |
Blitz++ |
 |
gsl_matrix |
Matrices |
GSL |
 |
uBLAS |
Matrices |
Boost |
 |
random |
Random numbers |
Boost |
 |
random |
Random numbers |
GSL |
|
Unclassified |
 |
Registry |
Registry |
Classlib |
 |
Environment |
Environment |
SealBase |
 |
Range |
Range |
SealBase |
 |
Sequence |
Generators |
SealBase |
 |
PackageInitializer |
Initialisation |
COBRA |
 |
SmartCounter |
Bean Counting |
COBRA |
 |
UnitsByName |
Units |
COBRA |
 |
NetLogging |
Logging |
COBRA |
 |
CreateStatic |
Static objects |
COBRA |
 |
UUID |
UUID |
SealBase |
 |
UUID |
UUID |
COBRA |
Dispatching |
 |
AutoFlag |
|
COBRA |
 |
Flag |
|
COBRA |
 |
DispKey |
|
COBRA |
 |
Notification (package) |
|
COBRA |
 |
Communicator (package) |
|
COBRA |
Services |
 |
program_options |
Command line options, configuration files |
Boost |
 |
CmdLine (package) |
Command line |
COBRA |
 |
BaseMonitor (package) |
Monitoring, synchronisation |
COBRA |
 |
Configuration (package) |
Platform adaptation |
COBRA |
 |
UI (package) |
Job configuration, parameters |
COBRA |
 |
W3Tools (package) |
HTML production |
COBRA |