]> git.tdb.fi Git - libs/gl.git/blobdiff - source/resources/resourcemanager.h
Prefer more compact containers
[libs/gl.git] / source / resources / resourcemanager.h
index ba4f39a9461668cbe4912a9f2d8afe5a8ee38e97..38437a727fd9a7d94cc24b048123bb62f0a0e35d 100644 (file)
@@ -1,6 +1,7 @@
 #ifndef MSP_GL_RESOURCEMANAGER_H_
 #define MSP_GL_RESOURCEMANAGER_H_
 
+#include <deque>
 #include <msp/core/inttypes.h>
 #include <msp/core/mutex.h>
 #include <msp/core/semaphore.h>
@@ -76,15 +77,13 @@ private:
                void remove_observer(ResourceObserver &);
        };
 
-       typedef std::list<ManagedResource *> LoadQueue;
-
        class LoadingThread: public Thread
        {
        private:
                Semaphore sem;
                Mutex queue_mutex;
-               LoadQueue async_queue;
-               LoadQueue sync_queue;
+               std::deque<ManagedResource *> async_queue;
+               std::deque<ManagedResource *> sync_queue;
                unsigned capacity;
                unsigned size;
                std::list<resource_load_error> error_queue;
@@ -98,7 +97,7 @@ private:
        private:
                virtual void main();
 
-               ManagedResource *front(LoadQueue &);
+               ManagedResource *front(std::deque<ManagedResource *> &);
 
        public:
                void add_resource(ManagedResource &);
@@ -113,13 +112,11 @@ private:
                void terminate();
        };
 
-       typedef std::map<const Resource *, ManagedResource> ResourceMap;
-
        LoadingPolicy policy;
        bool async_loads;
        mutable Mutex map_mutex;
-       ResourceMap resources;
-       LoadQueue queue;
+       std::map<const Resource *, ManagedResource> resources;
+       std::deque<ManagedResource *> queue;
        UInt64 total_data_size;
        UInt64 size_limit;
        unsigned frame;