Regina Calculation Engine
|
A function object that creates a new object subclassed from Base, where the particular subclass is chosen according to the template argument to operator().
More...
#include <utilities/registryutils.h>
Public Types | |
typedef Base * | ReturnType |
Indicates the return type for a function object. More... | |
Public Member Functions | |
template<typename Info , typename... Args> | |
Base * | operator() (Args &&... args) const |
Creates a new object of the subclass Info::Class. More... | |
A function object that creates a new object subclassed from Base, where the particular subclass is chosen according to the template argument to operator().
The template argument to the bracket operator would typically be one of the registry helper classes, such as PacketInfo or NormalInfo.
This routine is intended for use with registry routines, such as the non-void variants of forPacket() and forCoords().
|
inherited |
Indicates the return type for a function object.
|
inline |
Creates a new object of the subclass Info::Class.
args | any additional arguments to pass to the Info::Class constructor. These will be copied/moved, so if you wish to pass a reference then you should wrap it in std::ref or std::cref. |