#include <coherence/lang/lang_spec.hpp>
The factory must be made a friend of the defined class so that it may access the protected constructors.
The factory is used by class specifications to provide the class with static create methods. i.e. the result of using a class_spec when defining class Foo will result in Foo having auto-generated static create methods. Direct use of the factory for class instantiation is not supported.
The factory supports constructors from zero to sixteen parameters. To help the template system it is best (though not required) that there are not multiple constructors with the same number of parameters. Classes wishing to provide custom create methods may simply define them in their class, and these will override and hide the factory auto-generated versions.
Static Protected Member Functions | |
static T * | create () |
Generate a set of static "create" methods matching the signatures of class T's constructors. |
static T* create | ( | ) | [inline, static, protected] |
Generate a set of static "create" methods matching the signatures of class T's constructors.
NOTE: Compilation errors referencing this line likely indicate that the parameters supplied by the caller to the create method did not match one of the constructors.