pars 0.2.1.99
Loading...
Searching...
No Matches
clev::expected< value_t > Struct Template Reference

#include <err.h>

Inheritance diagram for clev::expected< value_t >:
Collaboration diagram for clev::expected< value_t >:

Public Member Functions

expected::value_type & value_or_abort () &noexcept(clev_exception_disabled_v)
 
expected::value_type && value_or_abort () &&noexcept(clev_exception_disabled_v)
 
constexpr const expected::value_type & value_or_abort () const &noexcept(clev_exception_disabled_v)
 
constexpr const expected::value_type && value_or_abort () const &&noexcept(clev_exception_disabled_v)
 
expected< std::reference_wrapper< value_t > > and_assign_to (value_t &dest) &&noexcept
 
template<typename fn_t>
requires std::is_constructible_v<error_type, error_type&>
auto and_then (fn_t &&f) &&noexcept
 
template<typename to_value_t>
auto transform_to () &&noexcept
 
template<typename to_value_t>
auto transform_to (to_value_t &&v) &&noexcept
 
auto discard_value () &&noexcept
 

Detailed Description

template<typename value_t>
struct clev::expected< value_t >

Definition at line 129 of file err.h.

Member Function Documentation

◆ and_assign_to()

template<typename value_t>
expected< std::reference_wrapper< value_t > > clev::expected< value_t >::and_assign_to ( value_t & dest) &&
inlinenodiscardnoexcept

Definition at line 178 of file err.h.

179 {
180 if (*this)
181 {
183
184 return std::ref(dest);
185 }
186
188 }

◆ and_then()

template<typename value_t>
template<typename fn_t>
requires std::is_constructible_v<error_type, error_type&>
auto clev::expected< value_t >::and_then ( fn_t && f) &&
inlinenodiscardnoexcept

Definition at line 192 of file err.h.

193 {
196
198 "expected<value_t>::and_then(fn_t) must specialize");
199
201 "expected<value_t>::and_then(fn_t) requires same error");
202
203 if (*this)
205 else
207 }

References clev::is_expected_specialization_v.

◆ discard_value()

template<typename value_t>
auto clev::expected< value_t >::discard_value ( ) &&
inlinenodiscardnoexcept

Definition at line 227 of file err.h.

228 {
229 if (*this)
230 return expected<void>{};
231 else
233 }

◆ transform_to() [1/2]

template<typename value_t>
template<typename to_value_t>
auto clev::expected< value_t >::transform_to ( ) &&
inlinenodiscardnoexcept

Definition at line 210 of file err.h.

211 {
212 if (*this)
214 else
216 }
expected(value_t &&) -> expected< value_t >

References clev::expected().

Here is the call graph for this function:

◆ transform_to() [2/2]

template<typename value_t>
template<typename to_value_t>
auto clev::expected< value_t >::transform_to ( to_value_t && v) &&
inlinenodiscardnoexcept

Definition at line 219 of file err.h.

220 {
221 if (*this)
223 else
224 return std::move(*this);
225 }

References clev::expected().

Here is the call graph for this function:

◆ value_or_abort() [1/4]

template<typename value_t>
expected::value_type && clev::expected< value_t >::value_or_abort ( ) &&
inlinenodiscardnoexcept

Definition at line 151 of file err.h.

152 {
153 if (!*this)
155
156 return std::move(expected::value());
157 }

◆ value_or_abort() [2/4]

template<typename value_t>
expected::value_type & clev::expected< value_t >::value_or_abort ( ) &
inlinenodiscardnoexcept

Definition at line 142 of file err.h.

143 {
144 if (!*this)
146
147 return expected::value();
148 }

◆ value_or_abort() [3/4]

template<typename value_t>
const expected::value_type && clev::expected< value_t >::value_or_abort ( ) const &&
inlinenodiscardconstexprnoexcept

Definition at line 169 of file err.h.

170 {
171 if (!*this)
173
174 return std::move(expected::value());
175 }

◆ value_or_abort() [4/4]

template<typename value_t>
const expected::value_type & clev::expected< value_t >::value_or_abort ( ) const &
inlinenodiscardconstexprnoexcept

Definition at line 160 of file err.h.

161 {
162 if (!*this)
164
165 return expected::value();
166 }

The documentation for this struct was generated from the following file: