ALib C++ Library
Library Version: 2412 R0
Documentation generated by doxygen
Loading...
Searching...
No Matches
owner.hpp File Reference

Description:

This header file is part of the ALib C++ Library. It does not belong to an ALib Module and is included in any ALib Distribution.

© 2013-2024 A-Worx GmbH, Germany. Published under Boost Software License.

Definition in file owner.hpp.

#include "alib/lang/tmp.hpp"
#include <cstddef>
Include dependency graph for owner.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  Owner< TOwnable >
 
class  OwnerRecursive< TOwnable >
 
class  OwnerShared< TOwnable >
 
class  OwnerSharedTimed< TOwnable >
 
class  OwnerTimed< TOwnable >
 
class  OwnerTry< TOwnable >
 
class  OwnerTryShared< TOwnable >
 

Namespaces

namespace  alib
 
namespace  alib::lang
 

Macros

Macros for Resource Locking and Recursive Programming

The macros listed here have a direct relationship with classes defined in ALib and with their use.

#define ALIB_DBG_PREVENT_RECURSIVE_METHOD_CALLS
 
#define ALIB_DBG_PREVENT_RECURSIVE_METHOD_CALLS_MEMBER_DECL   bool dbgRecursionDetectionFlag = false;
 
#define ALIB_OWN( ownable)
 
#define ALIB_OWN_RECURSIVE(ownable)
 
#define ALIB_OWN_SHARED( ownable)
 
ALib Module Threads

While macros in this section logically belong to module ALib Threads, they are available (but empty) also when this module is not included in the ALib Distribution. An explanation to this is given with chapter 1.2 Threading-Agnostic Software of this module's Programmer's Manual.

Their definition depends on the setting of ALIB_DEBUG_CRITICAL_SECTIONS, which defaults to 1, in case module ALib Threads is included in the ALib Distribution.

If the symbol is not set, all the symbols in this section are empty.

#define ALIB_LOCK   ALIB_OWN(*this)
 
#define ALIB_LOCK_RECURSIVE   ALIB_OWN_RECURSIVE(*this)
 
#define ALIB_LOCK_RECURSIVE_WITH(lock)
 
#define ALIB_LOCK_SHARED   ALIB_OWN_SHARED(*this)
 
#define ALIB_LOCK_SHARED_WITH(lock)
 
#define ALIB_LOCK_WITH(lock)