Boost logo

Boost :

From: Dave Gomboc (dave_at_[hidden])
Date: 2003-10-27 09:33:16

> > currently defined. I think we should either change the
> > semantics back (possibly changing the name to something
> > more appropriate if people are more comfortable with that)
> > or simply remove is_base_and_derived, unless someone can
> > come up with a compelling case for keeping it.
> How about
> is_proper_supertype< B, D > // like current is_base_and_derived
> is_supertype< B, D > // as above, but also true if B==D
> IMO those names cleanly capture the relevent abstractions,
> and is_supertype (which you're arguing is the commoner case,
> and I agree) can be implemented more efficiently than
> is_base_and_derived.
> Actually I'd prefer
> is_proper_subtype< D, B >
> is_subtype< D, B >
> but you have to be careful that you reverse the argument
> order when changing your old code over from is_base_and_derived.

Many different forms specifying one but not the other (ancestor,
descendent, superclass, subclass, etc.) were rejected due to the ease
with which a developer could nonetheless misinterpret which argument is
supposed to go first. (You could trawl the archives for this.)

However, I see nothing wrong with


Okay, I do see something wrong, they should start with "are". But
that's also something that was hashed out a long time ago! :-)


Boost list run by bdawes at, gregod at, cpdaniel at, john at