ADTF
Loading...
Searching...
No Matches
result_info_impl.h
Go to the documentation of this file.
1
14
15#ifndef A_UTIL_UTIL_RESULT_DETAIL_RESULT_INFO_IMPL_HEADER_INCLUDED
16#define A_UTIL_UTIL_RESULT_DETAIL_RESULT_INFO_IMPL_HEADER_INCLUDED
17
18#include <a_util/base/types.h>
20
21namespace a_util {
22namespace result {
23template <typename ResultType>
24inline bool isOk(const ResultType& result)
25{ // zero initialization
26 return (ResultType() == result);
27}
28
29template <typename ResultType>
30inline bool isFailed(const ResultType& result)
31{
32 return !(isOk(result));
33}
34
35template <typename T>
36inline const char* ResultInfo<T>::getLabel()
37{
38 return T::getLabel();
39}
40
41template <typename T>
42inline std::int32_t ResultInfo<T>::getCode()
43{
44 return T::getCode();
45}
46
47inline std::int32_t ResultInfo<void>::getCode()
48{
49 return 0;
50}
51
52inline const char* ResultInfo<void>::getLabel()
53{
54 return "SUCCESS";
55}
56
57template <typename ResultTypeLHS, typename ResultTypeRHS>
59{
62 return (lhs.getCode() == rhs.getCode()) && (lhs.getLabel() == rhs.getLabel());
63}
64
65template <typename ResultTypeLHS, typename ResultTypeRHS>
67{
68 return !operator==(lhs, rhs);
69}
70
71template <typename ResultTypeLHS, typename ResultTypeRHS>
73{
74 return lhs.getCode() < rhs.getCode();
75}
76
77template <typename ResultTypeLHS, typename ResultTypeRHS>
79{
80 return operator<(rhs, lhs);
81}
82
83template <typename ResultTypeLHS, typename ResultTypeRHS>
85{
86 return !operator>(lhs, rhs);
87}
88
89template <typename ResultTypeLHS, typename ResultTypeRHS>
92 return !operator<(lhs, rhs);
93}
94
95} // namespace result
96} // namespace a_util
97
98#endif // A_UTIL_UTIL_RESULT_DETAIL_RESULT_INFO_IMPL_HEADER_INCLUDED
void maybe_unused(T &&)
Definition types.h:51
Serves as component for functionality handling error and return types.
Definition result.h:20
bool operator!=(const ResultInfo< ResultTypeLHS > &lhs, const ResultInfo< ResultTypeRHS > &rhs)
Definition result_info_impl.h:66
bool operator>(const ResultInfo< ResultTypeLHS > &lhs, const ResultInfo< ResultTypeRHS > &rhs)
Definition result_info_impl.h:78
bool operator>=(const ResultInfo< ResultTypeLHS > &lhs, const ResultInfo< ResultTypeRHS > &rhs)
Definition result_info_impl.h:90
bool operator==(const ResultInfo< ResultTypeLHS > &lhs, const ResultInfo< ResultTypeRHS > &rhs)
Definition result_info_impl.h:58
bool isOk(const ResultType &result)
Definition result_info_impl.h:24
bool operator<=(const ResultInfo< ResultTypeLHS > &lhs, const ResultInfo< ResultTypeRHS > &rhs)
Definition result_info_impl.h:84
bool operator<(const ResultInfo< ResultTypeLHS > &lhs, const ResultInfo< ResultTypeRHS > &rhs)
Definition result_info_impl.h:72
bool isFailed(const ResultType &result)
Definition result_info_impl.h:30
Serves as the root component, with common functionality documented in core functionality.
Definition base.h:24
Definition result_info_decl.h:86
static std::int32_t getCode()
Definition result_info_impl.h:42
static const char * getLabel()
Definition result_info_impl.h:36