X-Git-Url: http://git.tdb.fi/?p=libs%2Fdatafile.git;a=blobdiff_plain;f=source%2Floader.h;h=574ecce0c11b5bac9af56d82b6a0782a5288d8b6;hp=cf2b5454b907a038e66745a7ecd7fadf239dcf56;hb=9c95942d24a92abea14bb9e11d33daae2d017321;hpb=e3f3e62c6320f4120f1f7d3c4b2d45d19283cc93 diff --git a/source/loader.h b/source/loader.h index cf2b545..574ecce 100644 --- a/source/loader.h +++ b/source/loader.h @@ -108,36 +108,15 @@ protected: void add(const std::string &k, void (L::*func)(A0)) { add(k, new LoaderFunc1(func)); } -#if __cplusplus>=201103L template void add(const std::string &k, void (L::*func)(Args...)) { add(k, new LoaderFuncN(func)); } -#else - template - void add(const std::string &k, void (L::*func)(A0, A1)) - { add(k, new LoaderFunc2(func)); } - - template - void add(const std::string &k, void (L::*func)(A0, A1, A2)) - { add(k, new LoaderFunc3(func)); } - - template - void add(const std::string &k, void (L::*func)(A0, A1, A2, A3)) - { add(k, new LoaderFunc4(func)); } - - template - void add(const std::string &k, void (L::*func)(A0, A1, A2, A3, A4)) - { add(k, new LoaderFunc5(func)); } -#endif - -#if __cplusplus>=201103L /** Adds a keyword that is loaded by calling a function with a bound first argument. */ template void add(const std::string &k, void (L::*func)(B0, Args...), const typename RemoveReference::Type &b0) { add(k, new LoaderFuncNBound1(func, b0)); } -#endif /** Adds a keyword that is loaded into a member of the loaded object. */ template @@ -176,7 +155,6 @@ protected: }; -#if __cplusplus>=201103L /** Loads an object from a file. The object must have a public Loader class. Any extra arguments are passed to the Loader constructor. @@ -224,36 +202,6 @@ typename EnableIf::value, void>::No load(T & loader.load(parser); } -#else - -/** -Loads an object from a file. The object must have a public Loader class. -*/ -template -void load(T &obj, const std::string &fn) -{ - IO::BufferedFile in(fn); - - Parser parser(in, fn); - typename T::Loader loader(obj); - loader.load(parser); -} - -/** -Loads an object from a file, passing one extra argument to the Loader -constructor. The object must have a public Loader class. -*/ -template -void load(T &obj, const std::string &fn, U &arg) -{ - IO::BufferedFile in(fn); - - Parser parser(in, fn); - typename T::Loader loader(obj, arg); - loader.load(parser); -} -#endif - } // namespace DataFile } // namespace Msp