#include <cstddef>
#include <cassert>
#include <exception>
#include <functional>
#include <initializer_list>
#include <new>
#include <stdexcept>
#include <system_error>
#include <type_traits>
#include <utility>
Go to the source code of this file.
Classes | |
struct | std::hash< nonstd::expected< T &, E > > |
struct | std::hash< nonstd::expected< T, E > > |
struct | std::hash< nonstd::expected< void, E > > |
struct | nonstd::detail::in_place_index_tag< K > |
struct | nonstd::in_place_t |
struct | nonstd::detail::in_place_type_tag< T > |
Namespaces | |
nonstd | |
nonstd::detail | |
std | |
Functions | |
template<class T > | |
in_place_t | nonstd::in_place (detail::in_place_type_tag< T >=detail::in_place_type_tag< T >()) |
template<std::size_t K> | |
in_place_t | nonstd::in_place (detail::in_place_index_tag< K >=detail::in_place_index_tag< K >()) |
template<std::size_t K> | |
in_place_t | nonstd::in_place_index (detail::in_place_index_tag< K >=detail::in_place_index_tag< K >()) |
template<class T > | |
in_place_t | nonstd::in_place_type (detail::in_place_type_tag< T >=detail::in_place_type_tag< T >()) |
nsel_DISABLE_MSVC_WARNINGS (26409) namespace nonstd | |
#define expected_lite_MAJOR 0 |
Definition at line 15 of file expected.hpp.
#define expected_lite_MINOR 2 |
Definition at line 16 of file expected.hpp.
#define expected_lite_PATCH 0 |
Definition at line 17 of file expected.hpp.
#define expected_lite_VERSION expected_STRINGIFY(expected_lite_MAJOR) "." expected_STRINGIFY(expected_lite_MINOR) "." expected_STRINGIFY(expected_lite_PATCH) |
Definition at line 19 of file expected.hpp.
#define expected_STRINGIFY | ( | x | ) | expected_STRINGIFY_( x ) |
Definition at line 21 of file expected.hpp.
#define expected_STRINGIFY_ | ( | x | ) | #x |
Definition at line 22 of file expected.hpp.
#define nonstd_lite_HAVE_IN_PLACE_TYPES 1 |
Definition at line 91 of file expected.hpp.
#define nonstd_lite_in_place | ( | T | ) | nonstd::in_place_type<T> |
Definition at line 165 of file expected.hpp.
#define nonstd_lite_in_place_index | ( | K | ) | nonstd::in_place_index<K> |
Definition at line 167 of file expected.hpp.
#define nonstd_lite_in_place_index_t | ( | K | ) | nonstd::in_place_t(&)( nonstd::detail::in_place_index_tag<K> ) |
Definition at line 163 of file expected.hpp.
#define nonstd_lite_in_place_t | ( | T | ) | nonstd::in_place_t(&)( nonstd::detail::in_place_type_tag<T> ) |
Definition at line 161 of file expected.hpp.
#define nonstd_lite_in_place_type | ( | T | ) | nonstd::in_place_type<T> |
Definition at line 166 of file expected.hpp.
#define nonstd_lite_in_place_type_t | ( | T | ) | nonstd::in_place_t(&)( nonstd::detail::in_place_type_tag<T> ) |
Definition at line 162 of file expected.hpp.
#define nsel_COMPILER_CLANG_VERSION 0 |
Definition at line 258 of file expected.hpp.
#define nsel_COMPILER_GNUC_VERSION 0 |
Definition at line 264 of file expected.hpp.
#define nsel_COMPILER_MSVC_VER 0 |
Definition at line 249 of file expected.hpp.
#define nsel_COMPILER_MSVC_VERSION 0 |
Definition at line 250 of file expected.hpp.
#define nsel_COMPILER_VERSION | ( | major, | |
minor, | |||
patch | |||
) | ( 10 * ( 10 * (major) + (minor) ) + (patch) ) |
Definition at line 253 of file expected.hpp.
#define nsel_CONFIG_SELECT_EXPECTED ( nsel_HAVE_STD_EXPECTED ? nsel_EXPECTED_STD : nsel_EXPECTED_NONSTD ) |
Definition at line 31 of file expected.hpp.
#define nsel_constexpr /*constexpr*/ |
Definition at line 203 of file expected.hpp.
#define nsel_constexpr14 /*constexpr*/ |
Definition at line 209 of file expected.hpp.
#define nsel_CPLUSPLUS __cplusplus |
Definition at line 62 of file expected.hpp.
#define nsel_CPP11_OR_GREATER ( nsel_CPLUSPLUS >= 201103L ) |
Definition at line 67 of file expected.hpp.
#define nsel_CPP14_OR_GREATER ( nsel_CPLUSPLUS >= 201402L ) |
Definition at line 68 of file expected.hpp.
#define nsel_CPP17_OR_GREATER ( nsel_CPLUSPLUS >= 201703L ) |
Definition at line 69 of file expected.hpp.
#define nsel_CPP20_OR_GREATER ( nsel_CPLUSPLUS >= 202000L ) |
Definition at line 70 of file expected.hpp.
#define nsel_CPP98_OR_GREATER ( nsel_CPLUSPLUS >= 199711L ) |
Definition at line 66 of file expected.hpp.
#define nsel_DISABLE_MSVC_WARNINGS | ( | codes | ) |
Definition at line 292 of file expected.hpp.
#define nsel_EXPECTED_DEFAULT 0 |
Definition at line 26 of file expected.hpp.
#define nsel_EXPECTED_NONSTD 1 |
Definition at line 27 of file expected.hpp.
#define nsel_EXPECTED_STD 2 |
Definition at line 28 of file expected.hpp.
#define nsel_HAS_CPP0X 0 |
Definition at line 275 of file expected.hpp.
#define nsel_HAVE_STD_EXPECTED 0 |
Definition at line 81 of file expected.hpp.
#define nsel_inline17 /*inline*/ |
Definition at line 215 of file expected.hpp.
#define nsel_P0323R 5 |
Definition at line 52 of file expected.hpp.
#define nsel_REQUIRES_0 | ( | ... | ) | template< bool B = (__VA_ARGS__), typename std::enable_if<B, int>::type = 0 > |
Definition at line 223 of file expected.hpp.
#define nsel_REQUIRES_A | ( | ... | ) | , typename std::enable_if<__VA_ARGS__, void*>::type = nullptr |
Definition at line 220 of file expected.hpp.
#define nsel_REQUIRES_R | ( | R, | |
... | |||
) | typename std::enable_if<__VA_ARGS__, R>::type |
Definition at line 226 of file expected.hpp.
#define nsel_REQUIRES_T | ( | ... | ) | , typename = typename std::enable_if< (__VA_ARGS__), nonstd::expected_lite::detail::enabler >::type |
Definition at line 229 of file expected.hpp.
#define nsel_RESTORE_WARNINGS | ( | ) |
Definition at line 302 of file expected.hpp.
#define nsel_USES_STD_EXPECTED ( (nsel_CONFIG_SELECT_EXPECTED == nsel_EXPECTED_STD) || ((nsel_CONFIG_SELECT_EXPECTED == nsel_EXPECTED_DEFAULT) && nsel_HAVE_STD_EXPECTED) ) |
Definition at line 84 of file expected.hpp.
nsel_DISABLE_MSVC_WARNINGS | ( | 26409 | ) |
for nsel_REQUIRES_T
discriminated union to hold value or 'error'.
discriminated union to hold only 'error'.
// x.x.3 Unexpected object type; unexpected_type; C++17 and later can also use aliased type unexpected.
class unexpected_type, std::exception_ptr specialization (P0323R2)
x.x.4, Unexpected equality operators
unexpect tag, in_place_unexpected tag: construct an error
expected access error
class error_traits
class expected
class expected, void specialization
x.x.x Specialized algorithms
Definition at line 308 of file expected.hpp.