Interfaces and helpers for the Poly type‐erasure utility.

Types

Name

Description

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.

Functions

Name

Description

operator==

Tests whether a Poly object is empty.

operator!=

Tests whether a Poly object is non‐empty.

Created with MrDocs