Defines the TraitFactory class and related objects.
A TraitFactory is a class which allows deferred, but cached, creation of
CTrait instances. The TraitFactory API provides the
so that the trait conversion functions can generate CTrait instances in a
A factory class that allows deferred creation of traits
Traits created by TraitFactory instances are cached, and the cached trait is returned by all subsequent calls to the same TraitFactory instance.
Get the CTrait instance from the factory.
TraitFactory subclass that always fails when creating a CTrait
This class is designed for uses such as deferring import problems until encountering code that actually tries to use the unimportable trait.