X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Fcollection.h;h=5521975402d0526773a44bf6210c9577b87d0f79;hb=a887b3f7518605c22e4b70eeb9fe136acb2ea632;hp=005abd0db39e3c54c8b934ea784e5431164d70e4;hpb=7f49649f70becbb4345ad0b936c5e00194d9dc82;p=libs%2Fdatafile.git diff --git a/source/collection.h b/source/collection.h index 005abd0..5521975 100644 --- a/source/collection.h +++ b/source/collection.h @@ -69,8 +69,8 @@ public: private: typedef std::map ItemMap; - typedef std::list TypeList; - typedef std::list SourceList; + typedef std::vector TypeList; + typedef std::vector SourceList; TypeList types; ItemMap items; @@ -128,18 +128,18 @@ private: T &extract(const Variant &var) const; template - std::list extract_list(const std::list &vars) const + std::list extract_list(const std::vector &vars) const { std::list result; - for(std::list::const_iterator i=vars.begin(); i!=vars.end(); ++i) + for(std::vector::const_iterator i=vars.begin(); i!=vars.end(); ++i) result.push_back(&extract(**i)); return result; } - void gather_items(std::list *, std::list *, const CollectionItemTypeBase &, bool) const; + void gather_items(std::vector *, std::list *, const CollectionItemTypeBase &, bool) const; template - void gather_items(std::list *vars, std::list *names, const CollectionItemTypeBase *type, bool include_sources) const + void gather_items(std::vector *vars, std::list *names, const CollectionItemTypeBase *type, bool include_sources) const { if(type || (type = get_type())) gather_items(vars, names, *type, include_sources); @@ -171,7 +171,7 @@ public: template std::list get_list() const { - std::list vars; + std::vector vars; gather_items::Type>(&vars, 0, 0, false); return extract_list(vars); } @@ -185,7 +185,7 @@ public: if(type) load_items_from_sources(*type); - std::list vars; + std::vector vars; gather_items::Type>(&vars, 0, type, true); return extract_list(vars); }