UGDK  0.5.0
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
manager.h
Go to the documentation of this file.
1 #ifndef UGDK_RESOURCE_MANAGER_H_
2 #define UGDK_RESOURCE_MANAGER_H_
3 
6 
7 #include <utility>
8 #include <vector>
9 
10 namespace ugdk {
11 namespace resource {
12 
13 class Manager {
14  public:
15  Manager();
16  ~Manager();
17 
18  template <class T, class ...Args>
19  void CreateContainer(Args... args) {
20  ResourceContainer<T>::Create(std::forward<Args>(args)...);
21  clear_functions_.push_back(&ResourceContainer<T>::Clear);
22  }
23 
24 
25  template <class T>
28  }
29 
30  private:
31  std::vector<void(*)(void)> clear_functions_;
32 };
33 
34 } // namespace resource
35 } // namespace ugdk
36 
37 #endif // UGDK_RESOURCE_MANAGER_H_
38 
Definition: manager.h:13
static ResourceContainer * Get()
Definition: resourcecontainer.h:25
Definition: animation.h:11
ResourceContainer< T > * GetContainer() const
Definition: manager.h:26
Definition: resourcecontainer.h:23
void CreateContainer(Args...args)
Definition: manager.h:19
static void Create(Args...args)
Definition: resourcecontainer.h:32