18 #ifndef PDB_UTILITIES_SAFERESULT_H
19 #define PDB_UTILITIES_SAFERESULT_H
28 using std::shared_ptr;
36 virtual void apply(
function<
void(P)> forSuccessCase,
37 function<
void(
string errorMsg)> forErrorCase) = 0;
46 this->
apply([&](P successResult) { result = &successResult; },
48 [&](
string errorMessage) { exit(exitCode); });
60 void apply(
function<
void(P)> forSuccessCase,
function<
void(
string)> ) {
75 void apply(
function<
void(P)> ,
function<
void(
string)> forFailureCase) {
84 #endif // ALLUNITTESTS_SAFERESULT_H
void apply(function< void(P)> forSuccessCase, function< void(string)>)
P getResultOrExit(int exitCode)
SafeResultSuccess(P result)
SafeResultFailure(string errorMessage)
virtual void apply(function< void(P)> forSuccessCase, function< void(string errorMsg)> forErrorCase)=0
void apply(function< void(P)>, function< void(string)> forFailureCase)