X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Fpartcache.h;h=71684738f0980922de8db5346d88249f53a058b5;hb=aa9b8db38efb9e97460c76e27cecc4d1591b23e5;hp=137bce4c37539a8c032f27b36cff0c35afc89f58;hpb=81c4024fb6acf37df702a803dc4efdf82a81525a;p=libs%2Fgltk.git diff --git a/source/partcache.h b/source/partcache.h index 137bce4..7168473 100644 --- a/source/partcache.h +++ b/source/partcache.h @@ -16,6 +16,9 @@ struct CachedPart const GL::Texture2D *texture = nullptr; GL::Mesh *mesh = nullptr; + CachedPart() = default; + CachedPart(CachedPart &&); + CachedPart &operator=(CachedPart &&); ~CachedPart(); }; @@ -32,13 +35,11 @@ public: ~Rebuild() { cache.end_rebuild(); } }; - typedef std::list PartList; - private: bool rebuilding = false; - PartList parts; - PartList::iterator next; - PartList::iterator current; + std::vector parts; + std::vector::iterator next; + std::vector::iterator current; public: void begin_rebuild(); @@ -46,7 +47,7 @@ public: GL::Mesh &create_mesh(const Part &, const GL::Texture2D &); void end_rebuild(); - const PartList &get_parts() const { return parts; } + const std::vector &get_parts() const { return parts; } }; } // namespace GLtk