CARLA
Loading...
Searching...
No Matches
Macros
Debug.h File Reference
#include "carla/Exception.h"
#include <stdexcept>
#include <cassert>

Go to the source code of this file.

Macros

#define DEBUG_ASSERT(predicate)   DEBUG_ONLY(assert(predicate));
 
#define DEBUG_ASSERT_EQ(lhs, rhs)   DEBUG_ASSERT((lhs) == (rhs))
 
#define DEBUG_ASSERT_NE(lhs, rhs)   DEBUG_ASSERT((lhs) != (rhs))
 
#define DEBUG_ERROR   DEBUG_ASSERT(false);
 
#define DEBUG_ONLY(code)   code
 
#define DEVELOPMENT_ASSERT(pred)   DEVELOPMENT_ONLY(LIBCARLA_ASSERT_THROW__(pred, #pred))
 
#define DEVELOPMENT_ONLY(code)   code
 
#define LIBCARLA_ASSERT_LEVEL   LIBCARLA_ASSERT_LEVEL_DEBUG
 
#define LIBCARLA_ASSERT_LEVEL_DEBUG   30
 Macro utilities for assertions and debug-only code.
 
#define LIBCARLA_ASSERT_LEVEL_DEVELOPMENT   20
 
#define LIBCARLA_ASSERT_LEVEL_RELEASE   10
 
#define LIBCARLA_ASSERT_THROW__(pred, msg)   if (!(pred)) { ::carla::throw_exception(std::runtime_error(msg)); }
 
#define RELEASE_ASSERT(pred)   LIBCARLA_ASSERT_THROW__(pred, #pred)
 

Macro Definition Documentation

◆ DEBUG_ASSERT

#define DEBUG_ASSERT (   predicate)    DEBUG_ONLY(assert(predicate));

Definition at line 66 of file Debug.h.

◆ DEBUG_ASSERT_EQ

#define DEBUG_ASSERT_EQ (   lhs,
  rhs 
)    DEBUG_ASSERT((lhs) == (rhs))

Definition at line 76 of file Debug.h.

◆ DEBUG_ASSERT_NE

#define DEBUG_ASSERT_NE (   lhs,
  rhs 
)    DEBUG_ASSERT((lhs) != (rhs))

Definition at line 77 of file Debug.h.

◆ DEBUG_ERROR

#define DEBUG_ERROR   DEBUG_ASSERT(false);

Definition at line 68 of file Debug.h.

◆ DEBUG_ONLY

#define DEBUG_ONLY (   code)    code

Definition at line 55 of file Debug.h.

◆ DEVELOPMENT_ASSERT

#define DEVELOPMENT_ASSERT (   pred)    DEVELOPMENT_ONLY(LIBCARLA_ASSERT_THROW__(pred, #pred))

Definition at line 82 of file Debug.h.

◆ DEVELOPMENT_ONLY

#define DEVELOPMENT_ONLY (   code)    code

Definition at line 61 of file Debug.h.

◆ LIBCARLA_ASSERT_LEVEL

#define LIBCARLA_ASSERT_LEVEL   LIBCARLA_ASSERT_LEVEL_DEBUG

Definition at line 43 of file Debug.h.

◆ LIBCARLA_ASSERT_LEVEL_DEBUG

#define LIBCARLA_ASSERT_LEVEL_DEBUG   30

Macro utilities for assertions and debug-only code.

Defines three levels of assertions: debug, development, and release. By default, if NDEBUG is defined the level is set to development, otherwise is set to debug.

The following macros are defined here:

Definition at line 35 of file Debug.h.

◆ LIBCARLA_ASSERT_LEVEL_DEVELOPMENT

#define LIBCARLA_ASSERT_LEVEL_DEVELOPMENT   20

Definition at line 36 of file Debug.h.

◆ LIBCARLA_ASSERT_LEVEL_RELEASE

#define LIBCARLA_ASSERT_LEVEL_RELEASE   10

Definition at line 37 of file Debug.h.

◆ LIBCARLA_ASSERT_THROW__

#define LIBCARLA_ASSERT_THROW__ (   pred,
  msg 
)    if (!(pred)) { ::carla::throw_exception(std::runtime_error(msg)); }

Definition at line 80 of file Debug.h.

◆ RELEASE_ASSERT

#define RELEASE_ASSERT (   pred)    LIBCARLA_ASSERT_THROW__(pred, #pred)

Definition at line 84 of file Debug.h.