This directory contains MObS, an experimental object system
implemented in C++.

You can find writings about MObS at: http:://www.m17n.org/martin

If you're interested in seeing what it can do, look at ob.cc, which is
also a test suite for the system.

Dependencies: the Boost library (I use 1.29.0) and Boehm's libgc.
You will have to tweak the Makefile to teach it where to find them.
http://www.boost.org/
http://www.hpl.hp.com/personal/Hans_Boehm/gc/

To run all the tests, do:

make g++                # requires g++
make icc                # requires Intel's icc compiler
make compile-errors     # requires g++ and java 1.4
make test-headers       # requires perl, g++, icc

One of the ideas behind MObS is type safety, so we care about
producing _more_ compile errors.  The `compile-errors' target checks
that constructs that are expected to fail to compile do, in fact,
generate compile errors.

If you're interested in how the system is implemented, read the
writings and look at:

IsA.hpp
Object.hpp
Boxed.hpp

MObS uses advanced template techniques, and is only known to work with
g++ 3.2 and icc 7.0.  It is known to fail with g++ 2.95.

Martin Buchholz
