38 kAuthenticationFailed,
67 kRetryableValidationFailed,
75struct ICEBERG_EXPORT [[nodiscard]]
Error {
87template <typename T, typename E = typename DefaultError<T>::type>
93#define DEFINE_ERROR_FUNCTION(name) \
94 template <typename... Args> \
95 inline auto name(const std::format_string<Args...> fmt, Args&&... args) \
96 -> std::unexpected<Error> { \
97 return std::unexpected<Error>( \
98 {ErrorKind::k##name, std::format(fmt, std::forward<Args>(args)...)}); \
100 inline auto name(std::string message) -> std::unexpected<Error> { \
101 return std::unexpected<Error>({ErrorKind::k##name, std::move(message)}); \
140#undef DEFINE_ERROR_FUNCTION
143concept AsResult = std::derived_from<std::remove_cvref_t<T>,
144 Result<typename std::remove_cvref_t<T>::value_type>>;
147using ResultValueT =
typename std::remove_cvref_t<T>::value_type;
Define symbol visibility macros for core Iceberg APIs.
Core Apache Iceberg C++ APIs.
Definition arrow_io_util.h:33
ErrorKind
Error types for iceberg.
Definition result.h:36
std::expected< T, E > Result
Result alias.
Definition result.h:88
#define DEFINE_ERROR_FUNCTION(name)
Macro to define error creation functions.
Definition result.h:93
/brief Default error trait
Definition result.h:82
Error with a kind and a message.
Definition result.h:75