Castor3D 0.16.0
Multiplatform 3D engine
Fonctions membres publiques | Liste de tous les membres
Référence du modèle de la structure castor::BlockGuard< CleanFunc >

Permet de déclarer une variable de scope, avec une action à la construction
et une action à la destruction. Plus de détails...

#include <BlockGuard.hpp>

Graphe d'héritage de castor::BlockGuard< CleanFunc >:
Inheritance graph
[légende]
Graphe de collaboration de castor::BlockGuard< CleanFunc >:
Collaboration graph
[légende]

Fonctions membres publiques

 BlockGuard (BlockGuard const &)=delete
 
 BlockGuard (BlockGuard &&) noexcept=delete
 
BlockGuardoperator= (BlockGuard const &)=delete
 
BlockGuardoperator= (BlockGuard &&) noexcept=delete
 
template<typename InitFunc >
 BlockGuard (InitFunc init, CleanFunc clean)
 Constructeur.
 
 ~BlockGuard () noexcept
 Destructeur.
 

Membres hérités additionnels

- Fonctions membres protégées hérités de castor::NonMovable
 NonMovable ()=default
 Constructeur.
 
 ~NonMovable () noexcept=default
 Destructeur.
 

Description détaillée

template<typename CleanFunc>
struct castor::BlockGuard< CleanFunc >

Permet de déclarer une variable de scope, avec une action à la construction
et une action à la destruction.

Remarques
Utile pour forcer l'exécution de code, si une exception est lancée. Example
char * buffer = nullptr;
{
auto guard = makeBlockGuard( [&buffer, &size]()
{
buffer = new char[size + 1];
},
[&buffer]()
{
delete [] buffer;
} );
//
// ... Code pouvant lancer une exception ...
//
}
BlockGuard< CleanFunc > makeBlockGuard(InitFunc init, CleanFunc clean)
fonction d'aide à la construction d'un BlockGuard.
Definition BlockGuard.hpp:70

Documentation des constructeurs et destructeur

◆ BlockGuard() [1/3]

template<typename CleanFunc >
castor::BlockGuard< CleanFunc >::BlockGuard ( BlockGuard< CleanFunc > const & )
delete

◆ BlockGuard() [2/3]

template<typename CleanFunc >
castor::BlockGuard< CleanFunc >::BlockGuard ( BlockGuard< CleanFunc > && )
deletenoexcept

◆ BlockGuard() [3/3]

template<typename CleanFunc >
template<typename InitFunc >
castor::BlockGuard< CleanFunc >::BlockGuard ( InitFunc init,
CleanFunc clean )
inline

Constructeur.

Remarques
Exécute l'action d'initialisation.
Paramètres
[in]initL'action effectuée à la construction.
[in]cleanL'action effectuée lors de la destruction.

◆ ~BlockGuard()

template<typename CleanFunc >
castor::BlockGuard< CleanFunc >::~BlockGuard ( )
inlinenoexcept

Destructeur.

Remarques
Exécute l'action de nettoyage.

Documentation des fonctions membres

◆ operator=() [1/2]

template<typename CleanFunc >
BlockGuard & castor::BlockGuard< CleanFunc >::operator= ( BlockGuard< CleanFunc > && )
deletenoexcept

◆ operator=() [2/2]

template<typename CleanFunc >
BlockGuard & castor::BlockGuard< CleanFunc >::operator= ( BlockGuard< CleanFunc > const & )
delete

La documentation de cette structure a été générée à partir du fichier suivant :