C++ Extensions (cppx) API
This is the API documentation for various utilities (collectively called cppx) which help extend the basic C++ and STL functionality. Each namespace and the corresponding documentation are referenced below.
Unit Test Framework (utst Namespace)
The unit test framework provides functions, classes, and macros which aid unit testing. They provide a uniform way to write self-checking test suites and test cases as well as more arbitrary examples. The framework handles parsing command line arguments and running the desired tests as well as outputting the results in a consistent way. See utst namespace documentation for an overview.
- utst::TestSuite : Collection of test cases
- utst::TestCase : Specific bit of self-checking test code
- utst::TestLog : Regression test output log stream
Basic Extensions (stdx Namespace)
This namespace provides extenstions to the standard C++ library and STL which make them easier to use. It includes several new iterator and functor adaptors, a framework for input sequences, and some provisions for simplifying run-time type checking. Documentation for each of the separate stdx namespace header files are below.
- stdxBitManip.h : Simple bit manipulation functions
- stdxCheckedFstreams.h : Simple wrapper which throws an exception on a bad file
- stdxContainerInit.h : Make initializing containers easier
- stdxDeref.h : Function adaptors which add an extra layer of dereference
- stdxEnum.h : Base Class: For type-safe and debug friendly enum
- stdxFilter.h : Function adaptors which allow a member function to act as a filter
- stdxFormattedPageOstream.h : Wraps an ostream and provides various page formatting options
- stdxFunctional.h : Simple function objects
- stdxHashMap.h : Simple container which provides associative lookup
- stdxPreprocessor.h : Macros for code generation
- stdxPropertyList.h : Typesafe key,value property list container
- stdxTableWriter.h : Create text tables for output
- stdxMisc.h : Miscellaneous classes and functions which extend the standard C++ library
- stdxIseq.h : Framework for input sequences
- stdxDebug.h : Useful macros for printf style debugging
- stdxException.h : New exception base class and exception macros
- stdxStrings.h : Various string conversion and manipulation classes and functions
- stdxPairs.h : Functions and classes to help with input/output of std::pair class
- stdxNullOstream.h : A null output stream
- stdxLog.h : Simple logging object
- stdxIndirectItr.h : Iterator adaptor which adds an extra layer of dereference
- stdxTransformItr.h : Iterator adaptor which allows a member function to act as a filter
- stdxImplPtr.h : Helper class for handle/body pattern
Simple Text File Parsing (txt Namespace)
This namespace provides simple functions and classes which aid in working with input and output files. The namespace primarily includes a text file class which represents an entire text file and a line iterator suitable for iterating over the lines in a text file. Documentation for both of these classes are referenced below.
- txt::File : Simple container representing a text file
- txt::LineItr : Iterator for stepping through the lines in a text file
Other Information
Links to various miscellaneous pages of documentation are listed below.
- Class Hierarchy
- Namespace List
- Compound List
- File List
- Namespace Members
- Compund Members
- File Members
- Todo List
Author Information
cppx was written by Christopher Batten for use by the Assam Group in the Laboratory for Computer Science at MIT. Please send comments, questions, and bug reports to { cbatten mit edu }