// // Created by robin on 8/9/15. // #ifndef PDNS_SLAVE_RESULT_H #define PDNS_SLAVE_RESULT_H # include # include template class Result { public: Result(); Result(const T& data); virtual ~Result(); Result& ok(const T& data); T& getData(); bool isSuccess() const; Result& addWarning(const std::string& warning); const std::vector& getWarnings() const; Result& error(const std::string& error); const std::string& getError() const; bool operator !() const; operator bool() const; const Result& print() const; private: T _data; std::vector _warnings; std::string _error; }; typedef Result BResult; # include "DBO/Result.hxx" #endif //PDNS_SLAVE_RESULT_H