FastMM documentation
FastMM C++ API 0.6.0
Public headers, tier 1 and tier 2
Loading...
Searching...
No Matches
result.hpp File Reference

Minimal expected<T, E>: the hot path never throws, it returns Result. More...

#include "fastmm/core/config_macros.hpp"
#include <new>
#include <type_traits>
#include <utility>

Go to the source code of this file.

Classes

struct  fastmm::Unexpected< E >
 
class  fastmm::Result< T, E >
 
class  fastmm::Result< void, E >
 Result<void, E>: success carries nothing. More...
 

Namespaces

namespace  fastmm
 

Functions

template<class E >
constexpr Unexpected< std::decay_t< E > > fastmm::fail (E &&e) noexcept
 

Detailed Description

Minimal expected<T, E>: the hot path never throws, it returns Result.

Result<ClientOrderId, RejectReason> r = ctx.send(order); if (!r) return r.error(); use(r.value());

Errors are constructed via fastmm::fail(e) so that Result<int, int> is unambiguous.