libbsl 0.9.1 review
Downloadlibbsl (Basic System Library) is a powerful, easy to use and fully thread safe C++ template class library for frequently recurring (m
|
|
libbsl (Basic System Library) is a powerful, easy to use and fully thread safe C++ template class library for frequently recurring (machine/OS oriented) programming problems.
All fundamental objects in libbsl are freely copyable and shareable between an arbitrary number of threads - e.g. reading from a shared io device from several concurrent threads is implicitly thread safe for the programmer without additional cost and knowledge.
An important goal in developing libbsl was to keep it simple and to enable even the inexperienced programmer to quickly write complex programs with the help of libbsl.
This goal is achieved by hiding most of the templates - and there are many - from the api by several reasonable typedefs.
On the other hand the generic template architecture of libbsl allows the more adept user to enhance (e.g. by the use of policy templates) or by combining libbsl's classes to create new objects or user defined functionality.
Here are some key features of "libbsl":
crypto; cryptographic classes (AES, ElGamal etc.) mainly for secure network communication
datetime; date, time and timer classes
dso; dynamic loadable C++ objects which remain dynamic_castable after loading
io; ile, directory, character devices etc. classes.
io/net; tcp/udp ipv4 (secure) socket classes etc.
ipc; program execution class, lightweight process class which enables you to design your own fine grained program logic by the use of freely configurable suspend an resume functions per process
log; error handling and logging mechanisms via syslog, files etc.
mime; mime type detection using ternary search trees
options; command line options and environment setting classes
thread; easy to use thread class, mutexes, barriers, transfer of program tasks to threads by the use of thread functors etc.
types; type traits, type lists etc.
util; memory management, factories, daemon class, functors, "switchless" intelligent state machine implementation, utf8 string class and much more
values; parameter (pair of arbitrary values as text), tuple, variant etc.
libbsl 0.9.1 search tags