Alias canFactoryGenericFactory

Checks if a structure has factory method for GenericFactory.

alias canFactoryGenericFactory(alias T, Z) = canFactoryGenericFactory!(typeof(T),Z);
template canFactoryGenericFactory(T, Z) ;

This static interface is used by annotation system to identify annotations that mark an object as instantiable by container. The @component annotation is such a structure that implements this static interface and therefore it is possible to use it to mark components instantiable. A "@component" annotation must have a factory method that returns a GenericFactory instance that further will be used to configure an instantiable object. In such a way it is possbile to define other custom annotations that return GenericFactory implementations that add/or behave differrently comparing to default implementation of GenericFactory.

Alias canFactoryGenericFactory

Template canFactoryGenericFactory


struct Component {
    GenericFactory!T factory(T)(Locator!() locator) {
        return new GenericFactoryImpl!(T)(locator);


T the structure to be tested for interface compatibility
Z the type of object that T has to instantiate


true in case of structure implementing static interface, false otherwise.