
Simonson, Lucanus J wrote:
Are you suggesting that I separate the declarations of functions from their defintions and place the defintions in the detail directory?
No. What I'm suggesting is that you differentiate between algorithms that can work on a concept and the interface of the concept. If I would implement an algorithm "max_axisparallel_ellipse" that would work on a polygon set, this wouldn't make it part of the interface of polygon set. But why should all algorithms implemented by you that work on a polygon set be part of the interface of polygon set, but not the algorithms implemented by me? So what I suggest is that you separate the interface of a concept from the algorithms that work on the concept. Not even the algorithm dispatch code should be part of the interface of the concept. Regards, Thomas