CCBase is a header-only C++11 library intended to make day-to-day tasks more pleasant. It's licensed under the BSD Three-Clause License.
Installation information, along with usage examples and documentation, can be found here.
ccbase.format
: Elegant syntax for printing and formatting strings.ccbase.platform
: Compile-time access to platform-specific information.ccbase.unit_test
: Convenient and lightweight unit testing framework.ccbase.error
: Utilities for systematic error handling.ccbase.dynamic
: Dynamic library loading and symbol visibility control.ccbase.filesystem
: Fast and convenient directory iteration.
The entirety of the public API resides in the cc
namespace.
-
Required dependencies:
- Boost 1.55.
- A C++11-conforming compiler. The library has been tested on recent versions of ICC, GCC, and Clang.
-
Optional dependencies:
- Rake, for running the tests.
- Sphinx and the Sphinx RTD Theme, for building the documentation.
- Add argument to
match_files
andlist_files
that filters all but a set of file types. To do this, makefile_type
a bitmask enum. - Use
CC_ASSERT
instead of assert. - Add support for standard library detection (e.g. libc++ vs libstdc++) to the platform module.
match_files
with recursive directory enumeration.- Tuple arithmetic.
- Document the utility module after sufficient usage.