IOSS  2.0
Ioss_SmartAssert.h File Reference
#include <iostream>
#include <map>
#include <sstream>
#include <string>
#include <utility>
#include <vector>
Include dependency graph for Ioss_SmartAssert.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  assert_context
 
struct  Ioss::Private::is_null_finder< T >
 
struct  Ioss::Private::is_null_finder< char * >
 
struct  Ioss::Private::is_null_finder< const char * >
 
struct  Assert
 

Namespaces

 SmartAssert
 
 Ioss
 The main namespace for the Ioss library.
 
 Ioss::Private
 

Macros

#define SMART_ASSERT_DEBUG
 
#define SMART_ASSERT(expr)
 
#define SMART_VERIFY(expr)
 
#define SMART_ASSERT_A(x)   SMART_ASSERT_OP(x, B)
 
#define SMART_ASSERT_B(x)   SMART_ASSERT_OP(x, A)
 
#define SMART_ASSERT_OP(x, next)   SMART_ASSERT_A.print_current_val((x), #x).SMART_ASSERT_##next
 

Typedefs

using SmartAssert::assert_func = void(*)(const assert_context &)
 

Enumerations

enum  { lvl_warn = 100, lvl_debug = 200, lvl_error = 300, lvl_fatal = 1000 }
 

Functions

std::string SmartAssert::get_typeof_level (int nLevel)
 
void SmartAssert::dump_context_summary (const assert_context &context, std::ostream &out)
 
void SmartAssert::dump_context_detail (const assert_context &context, std::ostream &out)
 
void SmartAssert::default_warn_handler (const assert_context &context)
 
void SmartAssert::default_debug_handler (const assert_context &context)
 
void SmartAssert::default_error_handler (const assert_context &context)
 
void SmartAssert::default_fatal_handler (const assert_context &context)
 
void SmartAssert::default_logger (const assert_context &context)
 
void Ioss::Private::init_assert ()
 
void Ioss::Private::set_default_log_stream (std::ostream &out)
 
void Ioss::Private::set_default_log_name (const char *str)
 
Assert SmartAssert::make_assert (const char *expr)
 

Macro Definition Documentation

◆ SMART_ASSERT

#define SMART_ASSERT (   expr)
Value:
if ((expr)) \
; \
else \
(void)::SmartAssert::make_assert(#expr).print_context(__FILE__, __LINE__).SMART_ASSERT_A

◆ SMART_ASSERT_A

#define SMART_ASSERT_A (   x)    SMART_ASSERT_OP(x, B)

◆ SMART_ASSERT_B

#define SMART_ASSERT_B (   x)    SMART_ASSERT_OP(x, A)

◆ SMART_ASSERT_DEBUG

#define SMART_ASSERT_DEBUG

◆ SMART_ASSERT_OP

#define SMART_ASSERT_OP (   x,
  next 
)    SMART_ASSERT_A.print_current_val((x), #x).SMART_ASSERT_##next

◆ SMART_VERIFY

#define SMART_VERIFY (   expr)
Value:
if ((expr)) \
; \
else \
(void)::SmartAssert::make_assert(#expr) \
.error() \
.print_context(__FILE__, __LINE__) \

Enumeration Type Documentation

◆ anonymous enum

anonymous enum
Enumerator
lvl_warn 
lvl_debug 
lvl_error 
lvl_fatal 
Assert::print_context
Assert & print_context(const char *file, int line)
Definition: Ioss_SmartAssert.h:233
Assert::SMART_ASSERT_A
Assert & SMART_ASSERT_A
Definition: Ioss_SmartAssert.h:188
SmartAssert::make_assert
Assert make_assert(const char *expr)
Definition: Ioss_SmartAssert.h:330
Assert::error
Assert & error(const char *strMsg=nullptr)
Definition: Ioss_SmartAssert.h:256