23#ifndef GUL17_FINALIZER_H_ 
   24#define GUL17_FINALIZER_H_ 
  124        : action_(std::move(
f))
 
 
  128        : action_{ std::move(
other.action_) }
 
  129        , invoke_{ 
other.invoke_ }
 
  132        other.invoke_ = 
false;
 
 
  136        if (
this != &
other) {
 
  137            this->action_ = std::move(
other.action_);
 
  138            this->invoke_ = std::move(
other.invoke_);
 
  140            other.invoke_ = 
false;
 
 
 
FinalAction allows us to execute something if the FinalAction object leaves the scope.
Definition finalizer.h:106
 
FinalAction(FinalAction &&other) noexcept
Move constructor.
Definition finalizer.h:127
 
FinalAction(F f) noexcept
Creates a new FinalAction object.
Definition finalizer.h:123
 
FinalAction()=delete
FinalAction is not is_default_constructible.
 
FinalAction(const FinalAction &)=delete
FinalAction is not copyable.
 
FinalAction & operator=(const FinalAction &)=delete
FinalAction is not copyable.
 
FinalAction & operator=(FinalAction &&other) noexcept
Move assignment operator.
Definition finalizer.h:135
 
~FinalAction() noexcept
Destructor Calls action except when in move contexts.
Definition finalizer.h:151
 
auto constexpr bit_set(unsigned bit) noexcept -> ReturnT
Set a bit in an integral type.
Definition bit_manip.h:121
 
Definition of macros used internally by GUL.
 
Namespace gul17 contains all functions and classes of the General Utility Library.
Definition doxygen.h:26