nsbaci 1.0
Loading...
Searching...
No Matches
baseResult.h
Go to the documentation of this file.
1
20
21#ifndef NSBACI_SERVICES_BASERESULT_H
22#define NSBACI_SERVICES_BASERESULT_H
23
24#include <vector>
25
26#include "error.h"
27
32namespace nsbaci {
33
56struct BaseResult {
60 BaseResult() : ok(true) {}
61
69 explicit BaseResult(std::vector<nsbaci::Error> errs)
70 : ok(errs.empty()), errors(std::move(errs)) {}
71
76 explicit BaseResult(nsbaci::Error error)
77 : ok(false), errors({std::move(error)}) {}
78
79 BaseResult(BaseResult&&) noexcept = default;
80 BaseResult& operator=(BaseResult&&) noexcept = default;
81
82 BaseResult(const BaseResult&) = default;
83 BaseResult& operator=(const BaseResult&) = default;
84
85 bool ok;
86 std::vector<nsbaci::Error>
88};
89
90} // namespace nsbaci
91
92#endif // NSBACI_SERVICES_BASERESULT_H
Represents an error with a message and optional code.
Definition error.h:28
Error class declaration for nsbaci.
Root namespace for the nsbaci application.
Definition controller.cpp:26
BaseResult(nsbaci::Error error)
Constructs a failed result from a single error.
Definition baseResult.h:76
bool ok
True if the operation succeeded.
Definition baseResult.h:85
BaseResult(std::vector< nsbaci::Error > errs)
Constructs a result from a vector of errors.
Definition baseResult.h:69
BaseResult()
Default constructor creates a successful result.
Definition baseResult.h:60
std::vector< nsbaci::Error > errors
Errors encountered (empty if ok is true).
Definition baseResult.h:87