Broom 1.0.0
A thread-local C++ Garbage Collector
Loading...
Searching...
No Matches
Macros | Functions
macros.h File Reference
#include <cassert>
#include <cstdlib>
#include <print>
#include <string>
Include dependency graph for macros.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Macros

#define BROOM_UNLIKELY   [[unlikely]]
 
#define BROOM_LIKELY   [[likely]]
 
#define BROOM_NORETURN   [[noreturn]]
 
#define BENSURE(x, m, ...)    Broom_Ensure(x, __FILE__, __LINE__, m __VA_OPT__(, ) __VA_ARGS__)
 
#define BENSURE_IMPLIES(lhs, rhs, m, ...)    BASSERT(!(lhs) || (rhs), m __VA_OPT__(, ) __VA_ARGS__)
 
#define BENSURE_EQ(lhs, rhs, m, ...)    BENSURE(lhs == rhs, m __VA_OPT__(, ) __VA_ARGS__)
 
#define BENSURE_GE(lhs, rhs, m, ...)    BENSURE(lhs >= rhs, m __VA_OPT__(, ) __VA_ARGS__)
 
#define BENSURE_GT(lhs, rhs, m, ...)    BENSURE(lhs > rhs, m __VA_OPT__(, ) __VA_ARGS__)
 
#define BENSURE_LE(lhs, rhs, m, ...)    BENSURE(lhs <= rhs, m __VA_OPT__(, ) __VA_ARGS__)
 
#define BENSURE_LT(lhs, rhs, m, ...)    BENSURE(lhs < rhs, m __VA_OPT__(, ) __VA_ARGS__)
 
#define BENSURE_NE(lhs, rhs, m, ...)    BENSURE(lhs != rhs, m __VA_OPT__(, ) __VA_ARGS__)
 
#define BASSERT(x, m, ...)
 
#define BASSERT_EQ(lhs, rhs, m, ...)
 
#define BASSERT_GE(lhs, rhs, m, ...)
 
#define BASSERT_GT(lhs, rhs, m, ...)
 
#define BASSERT_LE(lhs, rhs, m, ...)
 
#define BASSERT_LT(lhs, rhs, m, ...)
 
#define BASSERT_NE(lhs, rhs, m, ...)
 
#define BROOM_DEBUG_BOOL   false
 
#define BASSERT_SLOW(x, m, ...)
 
#define BASSERT_SLOW_EQ(lhs, rhs, m, ...)
 
#define BASSERT_SLOW_GE(lhs, rhs, m, ...)
 
#define BASSERT_SLOW_GT(lhs, rhs, m, ...)
 
#define BASSERT_SLOW_LE(lhs, rhs, m, ...)
 
#define BASSERT_SLOW_LT(lhs, rhs, m, ...)
 
#define BASSERT_SLOW_NE(lhs, rhs, m, ...)
 
#define BROOM_DEBUG_SLOW_BOOL   false
 
#define BDEBUG_LOG(m, ...)
 
#define BROOM_UNUSED   [[maybe_unused]]
 
#define BROOM_NOASAN
 
#define BROOM_NOTSAN
 
#define BROOM_NOMSAN
 
#define BROOM_NOUBSAN
 
#define BROOM_NOLSAN
 

Functions

template<typename... Args>
void Broom_Ensure (bool cond, const char *file, size_t line, std::format_string< Args... > fmt, Args &&... args)
 

Macro Definition Documentation

◆ BASSERT

#define BASSERT (   x,
  m,
  ... 
)

Definition at line 57 of file macros.h.

◆ BASSERT_EQ

#define BASSERT_EQ (   lhs,
  rhs,
  m,
  ... 
)

Definition at line 58 of file macros.h.

◆ BASSERT_GE

#define BASSERT_GE (   lhs,
  rhs,
  m,
  ... 
)

Definition at line 59 of file macros.h.

◆ BASSERT_GT

#define BASSERT_GT (   lhs,
  rhs,
  m,
  ... 
)

Definition at line 60 of file macros.h.

◆ BASSERT_LE

#define BASSERT_LE (   lhs,
  rhs,
  m,
  ... 
)

Definition at line 61 of file macros.h.

◆ BASSERT_LT

#define BASSERT_LT (   lhs,
  rhs,
  m,
  ... 
)

Definition at line 62 of file macros.h.

◆ BASSERT_NE

#define BASSERT_NE (   lhs,
  rhs,
  m,
  ... 
)

Definition at line 63 of file macros.h.

◆ BASSERT_SLOW

#define BASSERT_SLOW (   x,
  m,
  ... 
)

Definition at line 85 of file macros.h.

◆ BASSERT_SLOW_EQ

#define BASSERT_SLOW_EQ (   lhs,
  rhs,
  m,
  ... 
)

Definition at line 86 of file macros.h.

◆ BASSERT_SLOW_GE

#define BASSERT_SLOW_GE (   lhs,
  rhs,
  m,
  ... 
)

Definition at line 87 of file macros.h.

◆ BASSERT_SLOW_GT

#define BASSERT_SLOW_GT (   lhs,
  rhs,
  m,
  ... 
)

Definition at line 88 of file macros.h.

◆ BASSERT_SLOW_LE

#define BASSERT_SLOW_LE (   lhs,
  rhs,
  m,
  ... 
)

Definition at line 89 of file macros.h.

◆ BASSERT_SLOW_LT

#define BASSERT_SLOW_LT (   lhs,
  rhs,
  m,
  ... 
)

Definition at line 90 of file macros.h.

◆ BASSERT_SLOW_NE

#define BASSERT_SLOW_NE (   lhs,
  rhs,
  m,
  ... 
)

Definition at line 91 of file macros.h.

◆ BDEBUG_LOG

#define BDEBUG_LOG (   m,
  ... 
)

Definition at line 98 of file macros.h.

◆ BENSURE

#define BENSURE (   x,
  m,
  ... 
)     Broom_Ensure(x, __FILE__, __LINE__, m __VA_OPT__(, ) __VA_ARGS__)

Definition at line 22 of file macros.h.

◆ BENSURE_EQ

#define BENSURE_EQ (   lhs,
  rhs,
  m,
  ... 
)     BENSURE(lhs == rhs, m __VA_OPT__(, ) __VA_ARGS__)

Definition at line 26 of file macros.h.

◆ BENSURE_GE

#define BENSURE_GE (   lhs,
  rhs,
  m,
  ... 
)     BENSURE(lhs >= rhs, m __VA_OPT__(, ) __VA_ARGS__)

Definition at line 28 of file macros.h.

◆ BENSURE_GT

#define BENSURE_GT (   lhs,
  rhs,
  m,
  ... 
)     BENSURE(lhs > rhs, m __VA_OPT__(, ) __VA_ARGS__)

Definition at line 30 of file macros.h.

◆ BENSURE_IMPLIES

#define BENSURE_IMPLIES (   lhs,
  rhs,
  m,
  ... 
)     BASSERT(!(lhs) || (rhs), m __VA_OPT__(, ) __VA_ARGS__)

Definition at line 24 of file macros.h.

◆ BENSURE_LE

#define BENSURE_LE (   lhs,
  rhs,
  m,
  ... 
)     BENSURE(lhs <= rhs, m __VA_OPT__(, ) __VA_ARGS__)

Definition at line 32 of file macros.h.

◆ BENSURE_LT

#define BENSURE_LT (   lhs,
  rhs,
  m,
  ... 
)     BENSURE(lhs < rhs, m __VA_OPT__(, ) __VA_ARGS__)

Definition at line 34 of file macros.h.

◆ BENSURE_NE

#define BENSURE_NE (   lhs,
  rhs,
  m,
  ... 
)     BENSURE(lhs != rhs, m __VA_OPT__(, ) __VA_ARGS__)

Definition at line 36 of file macros.h.

◆ BROOM_DEBUG_BOOL

#define BROOM_DEBUG_BOOL   false

Definition at line 64 of file macros.h.

◆ BROOM_DEBUG_SLOW_BOOL

#define BROOM_DEBUG_SLOW_BOOL   false

Definition at line 92 of file macros.h.

◆ BROOM_LIKELY

#define BROOM_LIKELY   [[likely]]

Definition at line 9 of file macros.h.

◆ BROOM_NOASAN

#define BROOM_NOASAN

Definition at line 143 of file macros.h.

◆ BROOM_NOLSAN

#define BROOM_NOLSAN

Definition at line 147 of file macros.h.

◆ BROOM_NOMSAN

#define BROOM_NOMSAN

Definition at line 145 of file macros.h.

◆ BROOM_NORETURN

#define BROOM_NORETURN   [[noreturn]]

Definition at line 10 of file macros.h.

◆ BROOM_NOTSAN

#define BROOM_NOTSAN

Definition at line 144 of file macros.h.

◆ BROOM_NOUBSAN

#define BROOM_NOUBSAN

Definition at line 146 of file macros.h.

◆ BROOM_UNLIKELY

#define BROOM_UNLIKELY   [[unlikely]]

Definition at line 8 of file macros.h.

◆ BROOM_UNUSED

#define BROOM_UNUSED   [[maybe_unused]]

Definition at line 109 of file macros.h.

Function Documentation

◆ Broom_Ensure()

template<typename... Args>
void Broom_Ensure ( bool  cond,
const char *  file,
size_t  line,
std::format_string< Args... >  fmt,
Args &&...  args 
)
inline

Definition at line 13 of file macros.h.