11#include <fmt/format.h>
40 using Result<T>::operator==;
45 std::string
repr(std::span<const inspection::Token> , std::string_view )
const {
65 std::optional<ErrorKind> resolution_err_;
77 if (resolution_err_.has_value()) {
78 res.set_result(*resolution_err_);
84 std::string val_str =
"<unformattable>";
85 if constexpr (fmt::formattable<T>) {
86 val_str = fmt::format(
"{}", value);
90 res.set_result(value);
98 , name_{
std::move(name)} {}
103 , name_{
std::move(name)}
104 , resolution_err_{resolution_err} {}
Definition asm_data.hpp:20
Result< T > get_value_impl() const
Definition asm_data.hpp:89
Transparent wrapper around Result<T>, as far as the user is concerned.
Definition asm_symbol.hpp:28
std::string_view symbol_name
Definition asm_symbol.hpp:43
constexpr AsmSymbolResult(std::string_view symbol_name_)
Definition asm_symbol.hpp:31
void set_result(U &&val)
Definition asm_symbol.hpp:35
std::string repr(std::span< const inspection::Token >, std::string_view) const
Definition asm_symbol.hpp:45
Definition asm_symbol.hpp:54
AsmSymbol(Program &prog, std::string name, std::uintptr_t address)
Definition asm_symbol.hpp:96
AsmSymbolResult< T > get_value() const
Definition asm_symbol.hpp:74
std::string_view get_name() const
Definition asm_symbol.hpp:69
std::variant wrapper for a partial implementation of C++23's expected type
Definition expected.hpp:34
constexpr auto operator<=>(const Expected &rhs) const =default
Definition program.hpp:32
#define LOG_DEBUG(...)
Definition logging.hpp:41
Definition asm_buffer.hpp:20
ErrorKind
Definition error_types.hpp:11
Definition byte_array.hpp:94