41 for (
const auto &oldDetail:
details) {
42 if (recentDetail->
equals(*oldDetail))
46 details.push_back(recentDetail);
47 debugs(4, 3,
"new: " << recentDetail);
56 for (
const auto &recentDetail: recent.
details)
std::ostream & operator<<(std::ostream &os, const ErrorDetails &details)
std::vector< ErrorDetailPointer, PoolingAllocator< ErrorDetailPointer > > ErrorDetails
zero or more details of a single error
const char * errorTypeName(err_type err)
void error(char *format,...)
std::ostream manipulator to print containers as flat lists
auto & prefixedBy(const char *const p)
a c-string to print before the first item (if any). Caller must ensure lifetime.
auto & delimitedBy(const char *const d)
a c-string to print between consecutive items (if any). Caller must ensure lifetime.
bool equals(const ErrorDetail &other) const
err_type category
primary error classification (or ERR_NONE)
void update(const Error &)
if necessary, stores the given error information (if any)
#define debugs(SECTION, LEVEL, CONTENT)