|
Common System 0.2.0
Common interfaces and patterns for system integration
|
Utility functions and macros for Result<T> pattern. More...
#include "core.h"#include "compat.h"#include <stdexcept>#include <system_error>#include <utility>#include <variant>

Go to the source code of this file.
Classes | |
| class | kcenon::common::exception_mapper |
| Maps standard exception types to appropriate error codes. More... | |
Namespaces | |
| namespace | kcenon |
| namespace | kcenon::common |
| Core interfaces. | |
Macros | |
| #define | COMMON_RETURN_IF_ERROR(expr) |
| Return early if expression is an error. | |
| #define | COMMON_ASSIGN_OR_RETURN(decl, expr) |
| Assign value or return error. | |
| #define | COMMON_RETURN_ERROR_IF(condition, code, message, module) |
| Return error if condition is false. | |
| #define | COMMON_RETURN_ERROR_IF_WITH_DETAILS(condition, code, message, module, details) |
| Return error with details if condition is false. | |
Functions | |
| template<typename T > | |
| Result< T > | kcenon::common::ok (T value) |
| Create a successful result. | |
| VoidResult | kcenon::common::ok () |
| Create a successful void result. | |
| template<typename T > | |
| Result< T > | kcenon::common::make_error (int code, const std::string &message, const std::string &module="") |
| Create an error result with code and message. | |
| template<typename T > | |
| Result< T > | kcenon::common::make_error (int code, const std::string &message, const std::string &module, const std::string &details) |
| Create an error result with details. | |
| template<typename T > | |
| Result< T > | kcenon::common::make_error (const error_info &err) |
| Create an error result from existing error_info. | |
| template<typename T , typename F > | |
| Result< T > | kcenon::common::try_catch (F &&func, const std::string &module="") |
| Convert exception to Result with automatic error code mapping. | |
| template<typename F > | |
| VoidResult | kcenon::common::try_catch_void (F &&func, const std::string &module="") |
| Convert exception to VoidResult with automatic error code mapping. | |
Utility functions and macros for Result<T> pattern.
This header provides Result pattern utilities:
For working with Result values, use member methods directly:
Definition in file utilities.h.
| #define COMMON_ASSIGN_OR_RETURN | ( | decl, | |
| expr ) |
Assign value or return error.
Usage: COMMON_ASSIGN_OR_RETURN(auto value, some_operation()); // Use 'value' here
Definition at line 294 of file utilities.h.
| #define COMMON_RETURN_ERROR_IF | ( | condition, | |
| code, | |||
| message, | |||
| module ) |
Return error if condition is false.
Usage: COMMON_RETURN_ERROR_IF(!ptr, error_codes::INVALID_ARGUMENT, "Null pointer", "MyModule");
Definition at line 307 of file utilities.h.
| #define COMMON_RETURN_ERROR_IF_WITH_DETAILS | ( | condition, | |
| code, | |||
| message, | |||
| module, | |||
| details ) |
Return error with details if condition is false.
Usage: COMMON_RETURN_ERROR_IF_WITH_DETAILS(!valid, -1, "Invalid", "Module", "Details");
Definition at line 320 of file utilities.h.
| #define COMMON_RETURN_IF_ERROR | ( | expr | ) |
Return early if expression is an error.
Usage: COMMON_RETURN_IF_ERROR(some_operation()); // Continue only if successful
Definition at line 279 of file utilities.h.