10#define myExErr_1(code) exErr(errCode::code, getReport())
11#define myExErr_2(me, code) exErr(me, errCode::code, getReport())
12#define myExErr_3(me, code, a1) exErr(me, errCode::code, getReport(), a1)
13#define myExErr_4(me, code, a1, a2) exErr(me, errCode::code, getReport(), a1, a2)
14#define myExErr_5(me, code, a1, a2, a3) exErr(me, errCode::code, getReport(), a1, a2, a3)
15#define myExErr(...) BY_OVERLOAD(myExErr, __VA_ARGS__)
17#define myExWarn_1(code) exErr(errCode::code, getReport())
18#define myExWarn_2(me, code) exErr(me, errCode::code, getReport())
19#define myExWarn_3(me, code, a1) exErr(me, errCode::code, getReport(), a1)
20#define myExWarn_4(me, code, a1, a2) exErr(me, errCode::code, getReport(), a1, a2)
21#define myExWarn_5(me, code, a1, a2, a3) exErr(me, errCode::code, getReport(), a1, a2, a3)
22#define myExWarn(...) BY_OVERLOAD(myExWarn, __VA_ARGS__)
30 template <
typename R1,
typename T1>
friend struct workerAdapter;
42 DEFAULT = DUMP_ON_EX | GUARD | INTERNAL | LOG_ON_END
53 const errReport& getReport()
const BY_CONST_FUNC(getReport())
56 me& setFlag(nint newFlag);
57 me& addFlag(nint
flag);
58 me& delFlag(nint clear);
59 nbool isFlag(nint
flag)
const;
62 me& setTask(
const T& root);
63 me& setTask(
const T* it) BY_SIDE_FUNC(it, setTask(*it), *
this);
65 const T* getTask()
const BY_CONST_FUNC(getTask())
71 const area& getArea()
const BY_CONST_FUNC(_getArea())
76 virtual void _prepare();
80 virtual void _onEndWork();
81 virtual R _onWork() = 0;
85 void _onEndErrReport(
const errReport& rpt)
const;
Base class for all error types.
Definition: baseErr.hpp:12
Interface for objects that can be cloned.
Definition: clonable.hpp:12
Error reporting and collection system.
Definition: errReport.hpp:14
Strong reference smart pointer with strict type checking.
Definition: tstr.hpp:13
Interface for objects that can provide their type information.
Definition: typeProvidable.hpp:12
Base worker template for processing tasks.
Definition: worker.hpp:28
Source code area tracking structure.
Definition: point.hpp:27