staticlib_support  1.2.1
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups
Public Member Functions | List of all members
staticlib::support::release_deleter< T, Deleter > Class Template Reference

Deleter implementation for std::shared_ptr that allows to release the owned object from shared_ptr More...

#include <staticlib/support/release_deleter.hpp>

Public Member Functions

 release_deleter ()
 Constructor.
 release_deleter (const release_deleter &other)
 Copy constructor.
release_deleter & operator= (const release_deleter &other)
 Deleted copy-assignment operator.
void operator() (T *ptr)
 Delete operator, is a no-op if this deleter was released before.
bool release ()
 Releases the owned object from the shared_ptr

Detailed Description

template<typename T, typename Deleter = typename std::default_delete<T>>
class staticlib::support::release_deleter< T, Deleter >

Deleter implementation for std::shared_ptr that allows to release the owned object from shared_ptr

Constructor & Destructor Documentation

template<typename T, typename Deleter = typename std::default_delete<T>>
staticlib::support::release_deleter< T, Deleter >::release_deleter ( )
inline

Constructor.

template<typename T, typename Deleter = typename std::default_delete<T>>
staticlib::support::release_deleter< T, Deleter >::release_deleter ( const release_deleter< T, Deleter > &  other)
inline

Copy constructor.

Parameters
otherother instance

Member Function Documentation

template<typename T, typename Deleter = typename std::default_delete<T>>
void staticlib::support::release_deleter< T, Deleter >::operator() ( T *  ptr)
inline

Delete operator, is a no-op if this deleter was released before.

Parameters
ptrpointer to delete
template<typename T, typename Deleter = typename std::default_delete<T>>
release_deleter& staticlib::support::release_deleter< T, Deleter >::operator= ( const release_deleter< T, Deleter > &  other)

Deleted copy-assignment operator.

Parameters
otherother instance
Returns
this instance
template<typename T, typename Deleter = typename std::default_delete<T>>
bool staticlib::support::release_deleter< T, Deleter >::release ( )
inline

Releases the owned object from the shared_ptr

Returns
true if object was successfully released, false otherwise

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