cpp-mate  0.7
Helpful library for C++.
CppMate::Resource< T > Class Template Referencefinal

Represents some abstract resource which should be released. More...

#include <Resource.hpp>

Public Types

using Release = std::function< void(const T &resource)>
 

Public Member Functions

 Resource (const Resource &)=delete
 
Resourceoperator= (const Resource &)=delete
 
 Resource (const T &resource, const Release &release) noexcept
 Constructor. More...
 
 Resource (Resource &&other) noexcept
 Constructor. More...
 
 ~Resource ()
 
get () const noexcept
 Gets resource. More...
 
void set (const T &resource) noexcept
 Sets a new resource without releasing a previous one. More...
 
Resourceoperator= (Resource &&other) noexcept
 operator = More...
 
 operator T () const noexcept
 Implicitly conversion to the resource itself. More...
 
 operator bool () const noexcept
 Implicitly conversion of the resource to a boolean value. e.g. for checks pointer. More...
 
operator* () const noexcept
 Operator to access the resource via asterisk symbol. More...
 
Resourceoperator= (const T &resource) noexcept
 operator = More...
 

Detailed Description

template<typename T>
class CppMate::Resource< T >

Represents some abstract resource which should be released.

Member Typedef Documentation

◆ Release

template<typename T >
using CppMate::Resource< T >::Release = std::function<void(const T& resource)>

Release function type.

Constructor & Destructor Documentation

◆ Resource() [1/3]

template<typename T >
CppMate::Resource< T >::Resource ( const Resource< T > &  )
delete

◆ Resource() [2/3]

template<typename T >
CppMate::Resource< T >::Resource ( const T &  resource,
const Release release 
)
inlinenoexcept

Constructor.

Parameters
resourcethe resource to own.
releaserelease function.

◆ Resource() [3/3]

template<typename T >
CppMate::Resource< T >::Resource ( Resource< T > &&  other)
inlinenoexcept

Constructor.

Parameters
otheranother instance to move.

◆ ~Resource()

template<typename T >
CppMate::Resource< T >::~Resource ( )
inline

Destructor.

Member Function Documentation

◆ get()

template<typename T >
T CppMate::Resource< T >::get ( ) const
inlinenoexcept

Gets resource.

Returns
the resource.

◆ operator bool()

template<typename T >
CppMate::Resource< T >::operator bool ( ) const
inlinenoexcept

Implicitly conversion of the resource to a boolean value. e.g. for checks pointer.

◆ operator T()

template<typename T >
CppMate::Resource< T >::operator T ( ) const
inlinenoexcept

Implicitly conversion to the resource itself.

◆ operator*()

template<typename T >
T CppMate::Resource< T >::operator* ( ) const
inlinenoexcept

Operator to access the resource via asterisk symbol.

Returns
the resource itself.

◆ operator=() [1/3]

template<typename T >
Resource& CppMate::Resource< T >::operator= ( const Resource< T > &  )
delete

◆ operator=() [2/3]

template<typename T >
Resource& CppMate::Resource< T >::operator= ( const T &  resource)
inlinenoexcept

operator =

Parameters
resourcenew resource to set.
Returns
itself.

◆ operator=() [3/3]

template<typename T >
Resource& CppMate::Resource< T >::operator= ( Resource< T > &&  other)
inlinenoexcept

operator =

Parameters
otheranother resource to move.
Returns
itself.

◆ set()

template<typename T >
void CppMate::Resource< T >::set ( const T &  resource)
inlinenoexcept

Sets a new resource without releasing a previous one.

Parameters
resourcenew resource to set.

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