iox::cxx::GenericRAII🔗
The GenericRAII class is a simple helper class to apply the C++ RAII idiom quickly. You set 2 functions, one which is called in the constructor and another function is called in the destructor which can be useful when handling resources. More...
#include <generic_raii.hpp>
Public Functions🔗
Name | |
---|---|
GenericRAII(const std::function< void()> cleanupFunction) constructor which creates GenericRAII that calls only the cleanupFunction on destruction |
|
GenericRAII(const function_ref< void()> initFunction, const std::function< void()> cleanupFunction) constructor which calls initFunction and stores the cleanupFunction which will be called in the destructor |
|
~GenericRAII() calls m_cleanupFunction callable if it was set in the constructor |
|
GenericRAII(const GenericRAII & ) | |
GenericRAII & | operator=(const GenericRAII & ) |
GenericRAII(GenericRAII && rhs) move constructor which moves a generic raii object without calling the cleanupFunction |
|
GenericRAII & | operator=(GenericRAII && rhs) move assignment which moves a generic raii object without calling the cleanupFunction |
Detailed Description🔗
class iox::cxx::GenericRAII;
The GenericRAII class is a simple helper class to apply the C++ RAII idiom quickly. You set 2 functions, one which is called in the constructor and another function is called in the destructor which can be useful when handling resources.
// This example leads to a console output of:
// hello world
// I am doing stuff
// goodbye
void someFunc() {
auto raii{[](){ std::cout << "hello world\n"; },
[](){ std::cout << "goodbye\n"; }};
std::cout << "I am doing stuff\n";
// raii goes out of scope here and the cleanupFunction is called in the
// destructor
}
Public Functions Documentation🔗
function GenericRAII🔗
GenericRAII(
const std::function< void()> cleanupFunction
)
constructor which creates GenericRAII that calls only the cleanupFunction on destruction
Parameters:
- cleanupFunction callable which will be called in the destructor
function GenericRAII🔗
GenericRAII(
const function_ref< void()> initFunction,
const std::function< void()> cleanupFunction
)
constructor which calls initFunction and stores the cleanupFunction which will be called in the destructor
Parameters:
- initFunction callable which will be called in the constructor
- cleanupFunction callable which will be called in the destructor
function ~GenericRAII🔗
~GenericRAII()
calls m_cleanupFunction callable if it was set in the constructor
function GenericRAII🔗
GenericRAII(
const GenericRAII &
)
function operator=🔗
GenericRAII & operator=(
const GenericRAII &
)
function GenericRAII🔗
GenericRAII(
GenericRAII && rhs
)
move constructor which moves a generic raii object without calling the cleanupFunction
function operator=🔗
GenericRAII & operator=(
GenericRAII && rhs
)
move assignment which moves a generic raii object without calling the cleanupFunction
Updated on 31 May 2022 at 15:29:15 CEST