]> git.tdb.fi Git - libs/datafile.git/commitdiff
Fix the n-ary loader
authorMikko Rasa <tdb@tdb.fi>
Mon, 3 Sep 2007 14:28:02 +0000 (14:28 +0000)
committerMikko Rasa <tdb@tdb.fi>
Mon, 3 Sep 2007 14:28:02 +0000 (14:28 +0000)
source/loader.h

index 70fb7c2ba762fa2b2a4677c53363ffe7426d3009..6a0a1e39fd488dbfcaa5e2b9a77569188160d517 100644 (file)
@@ -81,17 +81,17 @@ private:
 Loads a statement by calling a function that takes an array of values.
 */
 template<typename L, typename A0>
-class LoaderFunc1<L, const std::list<A0> &>: public LoaderAction
+class LoaderFunc1<L, const std::vector<A0> &>: public LoaderAction
 {
 public:
-       typedef void (L::*FuncType)(const std::list<A0> &);
+       typedef void (L::*FuncType)(const std::vector<A0> &);
 
        LoaderFunc1(FuncType f): func(f) { }
        void execute(Loader &l, const Statement &st) const
        {
                std::vector<A0> values;
                values.reserve(st.args.size());
-               for(ValueArray::iterator i=st.args.begin(); i!=st.args.end(); ++i)
+               for(ValueArray::const_iterator i=st.args.begin(); i!=st.args.end(); ++i)
                        values.push_back(i->get<A0>());
                (dynamic_cast<L &>(l).*func)(values);
        }