Sleeping Wombat Common Library  0.50.0
swCommonLibrary
Public Member Functions | Static Public Member Functions | Private Member Functions | List of all members
ObjectDeleter< class_type > Class Template Reference

Klasa służy do kasowania obiektów, których destruktor jest prywatny.Taka sytuacja zachodzi w momencie, gdy nie chcemy, aby każda klasa mogła skasować jakiś obiekt, ale chcemy dać takie uprawnienia jedynie wybrańcom. Ta klasa implementuje funkcjonalność kasowania obieków. Obiekt tej klasy może zostać stworzony jedynie przez funkcję, która dostarczy odpowiedni obiekt klucz ObjectDeleterKey. Dopiero wtedy można wywołać funkcję delete_object, która usunie żądany obiekt z pamięci. More...

#include <ObjectDeleter.h>

Public Member Functions

 ObjectDeleter (const ObjectDeleterKey< class_type > &deleter_key)
 
void delete_object (class_type *object)
 Jedyny dostępny do wywołania konstruktor, tylko dla wybrańców. More...
 

Static Public Member Functions

static void delete_object (class_type *object, const ObjectDeleterKey< class_type > &deleter_key)
 Kasuje podany w parametrze obiekt. More...
 

Private Member Functions

 ObjectDeleter ()=default
 Nie można stworzyć obiektu nie mając klucza.
 
 ObjectDeleter (const ObjectDeleter &)=default
 Nie można stworzyć obiektu nie mając klucza.
 

Detailed Description

template<typename class_type>
class ObjectDeleter< class_type >

Klasa służy do kasowania obiektów, których destruktor jest prywatny.

Taka sytuacja zachodzi w momencie, gdy nie chcemy, aby każda klasa mogła skasować jakiś obiekt, ale chcemy dać takie uprawnienia jedynie wybrańcom. Ta klasa implementuje funkcjonalność kasowania obieków. Obiekt tej klasy może zostać stworzony jedynie przez funkcję, która dostarczy odpowiedni obiekt klucz ObjectDeleterKey. Dopiero wtedy można wywołać funkcję delete_object, która usunie żądany obiekt z pamięci.

See also
ObjectDeleterKey

Member Function Documentation

template<typename class_type >
void ObjectDeleter< class_type >::delete_object ( class_type *  object)
inline

Jedyny dostępny do wywołania konstruktor, tylko dla wybrańców.

Kasuje podany w parametrze obiekt.

Parameters
[in]objectObiekt do skasowania.
template<typename class_type >
static void ObjectDeleter< class_type >::delete_object ( class_type *  object,
const ObjectDeleterKey< class_type > &  deleter_key 
)
inlinestatic

Kasuje podany w parametrze obiekt.

Parameters
[in]objectObiekt do skasowania.
[in]deleter_keyKlucz dostępu do obiektu.

The documentation for this class was generated from the following file: