Sleeping Wombat GUI  0.100
swGUI
ObjectDeleter.h
Go to the documentation of this file.
1 #pragma once
2 
10 template <class TYPE> class ResourceContainer;
11 
12 
13 
14 
35 template<typename class_type> class ObjectDeleterKey
36 {
37  friend class ResourceManager;
38  friend class AssetsManager;
39  friend class ResourceContainer<class_type>;
40  friend class RenderTargetObject;
41 private:
42  ObjectDeleterKey() = default;
45 public:
46 };
47 
59 template<typename class_type> class ObjectDeleter
60 {
61 private:
62  ObjectDeleter() = default;
63  ObjectDeleter( const ObjectDeleter& ) = default;
64 public:
65  ObjectDeleter( const ObjectDeleterKey<class_type>& deleter_key ) {};
66 
70  inline void delete_object( class_type* object )
71  {
72  delete object;
73  }
74 
79  static inline void delete_object( class_type* object, const ObjectDeleterKey<class_type>& deleter_key )
80  {
81  delete object;
82  }
83 };
ObjectDeleterKey(const ObjectDeleterKey &)
Tylko klasa zaprzyjaźniona może stworzyć obiekt.
Definition: ObjectDeleter.h:43
static void delete_object(class_type *object, const ObjectDeleterKey< class_type > &deleter_key)
Kasuje podany w parametrze obiekt.
Definition: ObjectDeleter.h:79
friend class AssetsManager
Definition: ObjectDeleter.h:38
Szablon klasy do przechowywania assetów.
Definition: ResourceContainer.h:30
ObjectDeleterKey()=default
Tylko klasa zaprzyjaźniona może stworzyć obiekt.
Klasa służy do kasowania obiektów, których destruktor jest prywatny.Taka sytuacja zachodzi w momencie...
Definition: ObjectDeleter.h:59
You can specify classes that can delete objects with private constructors.
Definition: ObjectDeleter.h:35
ObjectDeleterKey(const ObjectDeleterKey &&)
Tylko klasa zaprzyjaźniona może stworzyć obiekt.
Definition: ObjectDeleter.h:44
ObjectDeleter(const ObjectDeleterKey< class_type > &deleter_key)
Definition: ObjectDeleter.h:65
Klasa dla render targetów.Klasa umożliwia pobranie jednej z tekstur składowych i udostępnienie dla sh...
Definition: MeshResources.h:301
void delete_object(class_type *object)
Jedyny dostępny do wywołania konstruktor, tylko dla wybrańców.
Definition: ObjectDeleter.h:70
ObjectDeleter()=default
Nie można stworzyć obiektu nie mając klucza.
Manager for low level resources.
Definition: ResourceManager.h:24