IBooleanTestable | A Poly interface that can be used to make Poly objects contextually convertible to bool (true if and only if non-empty). It also gives Poly objects a unary logical negation operator. |
IEqualityComparable | A Poly interface for types that are equality comparable. |
IMoveOnly | A Poly interface for types that are move-only. |
INullablePointer | A Poly interface that can be used to make Poly objects initializable from nullptr (to create an empty Poly) and equality comparable to nullptr (to test for emptiness). |
IRegular | A Poly interface for types that are copyable, movable, and equality comparable. |
ISemiRegular | A Poly interface for types that are copyable and movable. |
IStrictlyOrderable | A Poly interface for types that are strictly orderable. |