7CLASS_DECL_ACME
bool should_avoid_parsing_exception();
8CLASS_DECL_ACME
bool throw_parsing_exception(const ::scoped_string & scopedstrMessage);
13CLASS_DECL_ACME
bool throw_network_payload_parsing_exception(const ::scoped_string & scopedstrMessage);
16CLASS_DECL_ACME
void get_call_stack_frames(
void **
stack,
int & c);
21::collection::count get_mem_info(
int** ppiUse,
const char*** ppszFile,
const char*** ppszCallStack,
unsigned int** ppuiLine, memsize** ppsize);
26#if defined(NNDEBUG) && !defined(___NO_DEBUG_CRT)
30#define __output_debug_string information
33CLASS_DECL_ACME
bool __enable_memory_tracking(
bool bTrack);
39CLASS_DECL_ACME
bool __enable_memory_leak_override(
bool bEnable);
47#define __enable_memory_tracking(bTrack) false
48#define __enable_memory_leak_override(bEnable) true
49#define __output_debug_string(psz) ::information(psz)
61#define DEBUG_NOTE __FILE__
64#define THREAD_NOTE __get_thread_note()
65#define SET_THREAD_NOTE(x) __set_thread_note(x);
71#define SET_THREAD_NOTE(x)
77#define ENSURE_THROW(cond, exception) \
78 do { int _gen__condVal=!!(cond); ASSERT(_gen__condVal); if (!(_gen__condVal)){exception;} } while (false)
79#define ENSURE(cond) ENSURE_THROW(cond, throw_exception(error_bad_argument))
80#define ENSURE_ARG(cond) ENSURE_THROW(cond, throw_exception(error_bad_argument))
83#define ENSURE_VALID_THROW(pOb, exception) \
84 do { ASSERT_VALID(pOb); if (!(pOb)){exception;} } while (false)
85#define ENSURE_VALID(pOb) ENSURE_VALID_THROW(pOb, throw_exception(error_bad_argument))
87#define ASSERT_POINTER(p, type) \
88 ASSERT(((p) != nullptr) && is_memory_segment_ok((p), sizeof(type), false))
90#define ASSERT_NULL_OR_POINTER(p, type) \
91 ASSERT(((p) == nullptr) || is_memory_segment_ok((p), sizeof(type), false))
101CLASS_DECL_ACME
bool __assert_failed_line(const ::ansi_character * pszFileName,
int nLine);
103CLASS_DECL_ACME
void __assert_particle_ok(const ::particle * pparticle, const ::ansi_character * pszFileName,
int nLine);