|
Boost : |
From: Jeremy Siek (jsiek_at_[hidden])
Date: 2001-01-15 10:51:52
Good point. Ok, so I'm thinking about how to have the inheritance
hierarchy, but also keep things simple... how about we do like the std
iterators, define a hierarchy of simple tag classes, one tag for each
algebra concept. This really has to be done anyways to allow for algorithm
dispatching, and can also be used to check named conformance.
On Mon, 15 Jan 2001, Doug Gregor wrote:
gregod> It reduces the amount of code the user is required to
gregod> write to define the behavior of a new data type. If I have
gregod> written an arbitrary-precision floating point, I'll need
gregod> to specialize is_associative (twice), is_commutative
gregod> (twice), has_identity (twice), has_inverses and
gregod> is_distributive. If there is an inheritance hierarchy, I
gregod> can just specify that it is a field and all of the above
gregod> properties are specified by the refinement relationships.
----------------------------------------------------------------------
Jeremy Siek www: http://www.lsc.nd.edu/~jsiek/
Ph.D. Candidate email: jsiek_at_[hidden]
Univ. of Notre Dame work phone: (219) 631-3906
----------------------------------------------------------------------
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk