emlabcpp
modern opinionated embedded C++ library
emlabcpp::defer< Callable > Class Template Reference

The defer class stores a callable object and ensures it is executed when the defer object goes out of scope. More...

#include <defer.h>

Public Member Functions

 defer (Callable f)
 
 defer (defer const &)=default
 
 defer (defer &&) noexcept=default
 
deferoperator= (defer const &)=default
 
deferoperator= (defer &&) noexcept=default
 
 ~defer ()
 

Detailed Description

template<typename Callable>
class emlabcpp::defer< Callable >

The defer class stores a callable object and ensures it is executed when the defer object goes out of scope.

This is useful for setting up cleanup or callback actions to be executed at the end of a scope.

Example:

void foo() { defer d = [] { std::cout << "tree" << std::endl; }; }

This will print "tree" when foo() finishes execution.

Constructor & Destructor Documentation

◆ defer() [1/3]

template<typename Callable >
emlabcpp::defer< Callable >::defer ( Callable  f)
inline

◆ defer() [2/3]

template<typename Callable >
emlabcpp::defer< Callable >::defer ( defer< Callable > const &  )
default

◆ defer() [3/3]

template<typename Callable >
emlabcpp::defer< Callable >::defer ( defer< Callable > &&  )
defaultnoexcept

◆ ~defer()

template<typename Callable >
emlabcpp::defer< Callable >::~defer ( )
inline

Member Function Documentation

◆ operator=() [1/2]

template<typename Callable >
defer& emlabcpp::defer< Callable >::operator= ( defer< Callable > &&  )
defaultnoexcept

◆ operator=() [2/2]

template<typename Callable >
defer& emlabcpp::defer< Callable >::operator= ( defer< Callable > const &  )
default

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