9#ifndef SQUID_SRC_BASE_ASSURE_H
10#define SQUID_SRC_BASE_ASSURE_H
23#define Assure_(debugLevel, condition, description, location) \
24 while (!(condition)) \
25 ReportAndThrow_((debugLevel), (description), (location))
35#define Assure(condition) \
36 Assure2((condition), #condition)
40#define Assure2(condition, description) \
41 Assure_(0, (condition), ("assurance failed: " description), Here())
46#define Assure(condition) ((void)0)
47#define Assure2(condition, description) ((void)0)
void ReportAndThrow_(int debugLevel, const char *description, const SourceLocation &)
a source code location that is cheap to create, copy, and store