ALib C++ Library
Library Version: 2402 R1
Documentation generated by doxygen
Loading...
Searching...
No Matches
monomem.hpp
Go to the documentation of this file.
1/** ************************************************************************************************
2 * \file
3 * This header file is part of module \alib_monomem of the \aliblong.
4 *
5 * \emoji :copyright: 2013-2024 A-Worx GmbH, Germany.
6 * Published under \ref mainpage_license "Boost Software License".
7 **************************************************************************************************/
8#ifndef HPP_ALIB_MONOMEM_MONOMEM
9#define HPP_ALIB_MONOMEM_MONOMEM 1
10
11
12#if !defined(HPP_ALIB) && !defined(ALIB_DOX)
13# include "alib/alib.hpp"
14#endif
15
16ALIB_ASSERT_MODULE(MONOMEM)
17
19
20
21#if !defined(HPP_ALIB_LANG_COMMONENUMS_DEFS)
23#endif
24
25#if !defined (HPP_ALIB_MONOMEM_FWDS)
26# include "alib/monomem/fwds.hpp"
27#endif
28
29#if !defined(ALIB_DOX)
30# if ALIB_DEBUG_MONOMEM
31# if !ALIB_ALOX
32# error "Module ALox needs to be selected with compiler symbol ALIB_DEBUG_MONOMEM set."
33# endif
34# include "alib/alox.hpp"
35
36 namespace alib::monomem {
37 ALIB_API bool dbgLogLock(bool lock);
38 }
39# define DBG_MONOMEM_PATH_DOMAIN { if( dbgLogLock(true) ) {Log_SetDomain( "ALIB/MONOMEM", Scope::Path ) } dbgLogLock(false); }
40# define DBG_MONOMEM_FILE_DOMAIN(domain) { if( dbgLogLock(true) ) {Log_SetDomain( domain, Scope::Filename ) } dbgLogLock(false); }
41# define DBG_MONOMEM_ERROR(...) { if( dbgLogLock(true) ) {Log_Error( __VA_ARGS__ ) } dbgLogLock(false); }
42# define DBG_MONOMEM_WARNING(...) { if( dbgLogLock(true) ) {Log_Warning( __VA_ARGS__ ) } dbgLogLock(false); }
43# define DBG_MONOMEM_INFO(...) { if( dbgLogLock(true) ) {Log_Info( __VA_ARGS__ ) } dbgLogLock(false); }
44# define DBG_MONOMEM_VERBOSE(...) { if( dbgLogLock(true) ) {Log_Verbose( __VA_ARGS__ ) } dbgLogLock(false); }
45# else
46# define DBG_MONOMEM_PATH_DOMAIN
47# define DBG_MONOMEM_FILE_DOMAIN(domain)
48# define DBG_MONOMEM_ERROR(...)
49# define DBG_MONOMEM_WARNING(...)
50# define DBG_MONOMEM_INFO(...)
51# define DBG_MONOMEM_VERBOSE(...)
52# endif
53#endif
54
56
57#endif // HPP_ALIB_MONOMEM_MONOMEM
#define ALIB_ASSERT_MODULE(modulename)
Definition alib.hpp:190
#define ALIB_WARNINGS_RESTORE
Definition alib.hpp:715
#define ALIB_API
Definition alib.hpp:538
#define ALIB_WARNINGS_IGNORE_UNUSED_MACRO
Definition alib.hpp:687