38 kAuthenticationFailed,
68 kRetryableValidationFailed,
76struct ICEBERG_EXPORT [[nodiscard]]
Error {
88template <typename T, typename E = typename DefaultError<T>::type>
94#define DEFINE_ERROR_FUNCTION(name) \
95 template <typename... Args> \
96 inline auto name(const std::format_string<Args...> fmt, Args&&... args) \
97 -> ::iceberg::unexpected<Error> { \
98 return ::iceberg::unexpected<Error>( \
99 {ErrorKind::k##name, std::format(fmt, std::forward<Args>(args)...)}); \
101 inline auto name(std::string message) -> ::iceberg::unexpected<Error> { \
102 return ::iceberg::unexpected<Error>({ErrorKind::k##name, std::move(message)}); \
142#undef DEFINE_ERROR_FUNCTION
145concept AsResult = std::derived_from<std::remove_cvref_t<T>,
146 Result<typename std::remove_cvref_t<T>::value_type>>;
149using ResultValueT =
typename std::remove_cvref_t<T>::value_type;
Definition expected.h:1199
A C++20 backport of C++23 std::expected, used as the storage type behind iceberg::Result.
Define symbol visibility macros for core Iceberg APIs.
Core Apache Iceberg C++ APIs.
Definition arrow_io_util.h:34
ErrorKind
Error types for iceberg.
Definition result.h:36
#define DEFINE_ERROR_FUNCTION(name)
Macro to define error creation functions.
Definition result.h:94
/brief Default error trait
Definition result.h:83
Error with a kind and a message.
Definition result.h:76