A version of MultipleInheritance with the restriction that any two types '''T1''' and '''T2''' may only have at most single ''meet''. See MeetsAndJoins In such systems, only one class is allowed to multiply inherit from the same pair of base classes. In particular, the following hierarchy is not: class Base1 {}; class Base2 {}; class Derived1 : public Base1, public Base2 {}; class Derived2 : public Base1, public Base2 {}; Derived1 and Derived2 are both meets of Base1 and Base2; as neither is a subtype of the other.