16#ifndef A_UTIL_UTIL_RESULT_DETAIL_DESCRIPTION_DECL_HEADER_INCLUDED
17#define A_UTIL_UTIL_RESULT_DETAIL_DESCRIPTION_DECL_HEADER_INCLUDED
31template <
typename DescriptionIntf >
87 std::uint64_t error_code)
noexcept;
110template <
typename DescriptionIntf >
167 template <
typename DescriptionImpl,
typename... Args>
178 template <
typename T>
180 const ::a_util::result::ResultInfo<T>& result_info)
noexcept;
209 std::uint64_t _pointer_to_result_or_error_code;
Definition reference_counted_object_intf.h:29
Wrapper for either a pointer to a detailed description object or simply a numeric error code.
Definition result_description_decl.h:111
std::int32_t getErrorCode() const
Definition result_description_impl.h:247
ResultDescription & operator=(const ResultDescription &other)
Definition result_description_impl.h:131
ResultDescription(ResultDescription &&other)
Definition result_description_impl.h:148
static SelfType makeResultDescription(std::int32_t error_code, Args &&... args)
Definition result_description_impl.h:183
ResultDescription(const ResultDescription &other)
Definition result_description_impl.h:124
ResultDescription & operator=(ResultDescription &&other)
Definition result_description_impl.h:155
ResultDescription()
CTOR.
Definition result_description_impl.h:119
static SelfType makeResultDescription(const ::a_util::result::ResultInfo< T > &result_info) noexcept
Definition result_description_impl.h:213
static SelfType makeResultDescription(std::int32_t error_code)
Definition result_description_impl.h:228
~ResultDescription()
DTOR.
Definition result_description_impl.h:170
DescriptionIntf const * getDetailedDescription() const
Definition result_description_impl.h:237
ResultDescription< DescriptionIntf > SelfType
Self type.
Definition result_description_decl.h:115
Serves as namespace for result implementation details.
Definition result.h:22
bool operator==(const ResultDescription< T > &lhs, const ResultDescription< T > &rhs)
Definition result_description_impl.h:277
bool operator!=(const ResultDescription< T > &lhs, const ResultDescription< T > &rhs)
Definition result_description_impl.h:287
Serves as component for functionality handling error and return types.
Definition result.h:20
Serves as the root component, with common functionality documented in core functionality.
Definition base.h:24
Definition result_description_decl.h:32
static bool isDetailedDescriptionSet(std::uint64_t value)
Definition result_description_impl.h:32
static const std::uint64_t error_code_bit
The error code bit indicating whether only the error code (1) was set or not (0)
Definition result_description_decl.h:36
static constexpr std::uint64_t toInternalErrorCode(std::int32_t error_code) noexcept
Definition result_description_impl.h:48
static const std::uint64_t error_code_bitmask
The error code bitmask to mask out the error code bit.
Definition result_description_decl.h:38
static constexpr const ReferenceCountedDescriptionType * toInternalErrorPointer(std::uint64_t error_code) noexcept
Definition result_description_impl.h:72
ReferenceCountedObjectInterface< DescriptionIntf > ReferenceCountedDescriptionType
Reference counted error description type.
Definition result_description_decl.h:34
static constexpr std::int32_t toExternalErrorCode(std::uint64_t error_code) noexcept
Definition result_description_impl.h:60
ResultDescriptionTraits()=delete
Must not be constructed/copied/moved.
static const std::uint64_t error_code_serialize_bitmask
The bitmask to serialize the error code to its internal representation.
Definition result_description_decl.h:40
static const std::uint64_t error_code_deserialize_bitmask
The bitmask to deserialize the internal error representation to its original value.
Definition result_description_decl.h:42
static bool isErrorCodeSet(std::uint64_t value)
Definition result_description_impl.h:41