// Name: scopeguard.h
// Purpose: interface of global functions
// Author: wxWidgets team
-// RCS-ID: $Id$
-// Licence: wxWindows license
+// Licence: wxWindows licence
/////////////////////////////////////////////////////////////////////////////
/**
+ @class wxScopeGuard
+
Scope guard is an object which allows executing an action on scope exit.
The objects of this class must be constructed using wxMakeGuard() function.
+
+ @nolibrary
+ @category{misc}
*/
class wxScopeGuard
{
void Dismiss();
};
-/** @ingroup group_funcmacro_misc */
+/** @addtogroup group_funcmacro_misc */
//@{
/**
Returns a scope guard object which will call the specified function with
//@}
-/** @ingroup group_funcmacro_misc */
+/** @addtogroup group_funcmacro_misc */
//@{
/**
Ensure that the global @a function with a few (up to some
#define wxON_BLOCK_EXIT3(function, p1, p2, p3)
//@}
-/** @ingroup group_funcmacro_misc */
+/** @addtogroup group_funcmacro_misc */
//@{
/**
This family of macros is similar to wxON_BLOCK_EXIT(), but calls a method
#define wxON_BLOCK_EXIT_OBJ3(object, method, p1, p2, p3)
//@}
-/** @ingroup group_funcmacro_misc */
+/** @addtogroup group_funcmacro_misc */
//@{
/**
This family of macros is similar to wxON_BLOCK_OBJ(), but calls a method
#define wxON_BLOCK_EXIT_THIS3(method, p1, p2, p3)
//@}
-/** @ingroup group_funcmacro_misc */
+/** @addtogroup group_funcmacro_misc */
//@{
/**
This macro sets a variable to the specified value on scope exit.
}
@endcode
+ Notice that @a value is copied, i.e. stored by value, so it can be a
+ temporary object returned by a function call, for example.
+
@see wxON_BLOCK_EXIT_OBJ0(), wxON_BLOCK_EXIT_NULL()
@header{wx/scopeguard.h}