reduce boilerplate code
This commit is contained in:
@@ -24,8 +24,7 @@ struct RegisterDialogDriver
|
||||
RegisterDialogDriver( const istring &sName, CreateDialogDriverFn pfn );
|
||||
};
|
||||
#define REGISTER_DIALOG_DRIVER_CLASS( name ) \
|
||||
static DialogDriver *Create##name() { return new DialogDriver_##name; } \
|
||||
static RegisterDialogDriver register_##name( #name, Create##name )
|
||||
static RegisterDialogDriver register_##name( #name, CreateClass<DialogDriver_##name, DialogDriver> )
|
||||
|
||||
|
||||
#endif
|
||||
|
||||
@@ -75,8 +75,7 @@ struct RegisterInputHandler
|
||||
RegisterInputHandler( const istring &sName, CreateInputHandlerFn pfn );
|
||||
};
|
||||
#define REGISTER_INPUT_HANDLER_CLASS2( name, x ) \
|
||||
static InputHandler *Create##name() { return new InputHandler_##x; } \
|
||||
static RegisterInputHandler register_##name( #name, Create##name )
|
||||
static RegisterInputHandler register_##name( #name, CreateClass<InputHandler_##x, InputHandler> )
|
||||
#define REGISTER_INPUT_HANDLER_CLASS( name ) REGISTER_INPUT_HANDLER_CLASS2( name, name )
|
||||
|
||||
|
||||
|
||||
@@ -58,8 +58,7 @@ struct RegisterSoundDriver
|
||||
};
|
||||
// Can't use Create##name because many of these have -sw suffixes.
|
||||
#define REGISTER_SOUND_DRIVER_CLASS2( name, x ) \
|
||||
static RageSoundDriver *Create##x() { return new RageSoundDriver_##x; } \
|
||||
static RegisterSoundDriver register_##x( #name, Create##x )
|
||||
static RegisterSoundDriver register_##x( #name, CreateClass<RageSoundDriver_##x, RageSoundDriver> )
|
||||
#define REGISTER_SOUND_DRIVER_CLASS( name ) REGISTER_SOUND_DRIVER_CLASS2( name, name )
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user