diff options
author | Alexander Sulfrian <alexander@sulfrian.net> | 2010-03-29 07:30:52 +0200 |
---|---|---|
committer | Alexander Sulfrian <alexander@sulfrian.net> | 2013-01-05 17:17:47 +0100 |
commit | 15c0132fd080003f2bf47749e30e1f724b249341 (patch) | |
tree | 1d09f54e344d19e99df9e0fc89643f071881c6ae /src/base/songloading/songloading_strategy.hpp | |
parent | 0779a60f3e31a31db71614134ddd7eedc5e385d9 (diff) | |
download | usdx-15c0132fd080003f2bf47749e30e1f724b249341.tar.gz usdx-15c0132fd080003f2bf47749e30e1f724b249341.tar.xz usdx-15c0132fd080003f2bf47749e30e1f724b249341.zip |
dynamic registration of songloading_strategies with static template
Diffstat (limited to '')
-rw-r--r-- | src/base/songloading/songloading_strategy.hpp | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/src/base/songloading/songloading_strategy.hpp b/src/base/songloading/songloading_strategy.hpp index 48e115b7..3178f6ed 100644 --- a/src/base/songloading/songloading_strategy.hpp +++ b/src/base/songloading/songloading_strategy.hpp @@ -31,6 +31,15 @@ #include <boost/filesystem.hpp> #include "song.hpp" +#define _USDX_JOIN(strategy, line) _USDX_JOIN1(strategy, line) +#define _USDX_JOIN1(strategy, line) autoregistration__strategy__##line + +/* Macros to simplify registration of SongLoadingStrategy */ +#define REGISTER_SONGLOADING_STRATEGY(strategy) \ + static SongloadingStrategyFactory<strategy> \ + _USDX_JOIN(strategy, __LINE__) + + namespace usdx { class SongloadingStrategy |