|
ThreadSchedule 3.0.0
Modern C++ thread management library
|
#include <expected.hpp>
Public Types | |
| using | value_type = T |
| using | error_type = E |
| using | unexpected_type = unexpected< E > |
Public Member Functions | |
| template<typename U = T, std::enable_if_t< std::is_default_constructible_v< U >, int > = 0> | |
| constexpr | expected () |
| template<typename U = T, std::enable_if_t<!std::is_default_constructible_v< U >, int > = 0> | |
| expected ()=delete | |
| expected (expected const &)=default | |
| expected (expected &&)=default | |
| auto | operator= (expected const &) -> expected &=default |
| auto | operator= (expected &&) -> expected &=default |
| ~expected ()=default | |
| template<typename U = T, std::enable_if_t<!std::is_same_v< std::decay_t< U >, expected > &&!std::is_same_v< std::decay_t< U >, std::in_place_t > &&!std::is_same_v< std::decay_t< U >, unexpected< E > > &&std::is_constructible_v< T, U > &&std::is_convertible_v< U, T >, int > = 0> | |
| constexpr | expected (U &&value) |
| template<typename U = T, std::enable_if_t<!std::is_same_v< std::decay_t< U >, expected > &&!std::is_same_v< std::decay_t< U >, std::in_place_t > &&!std::is_same_v< std::decay_t< U >, unexpected< E > > &&std::is_constructible_v< T, U > &&!std::is_convertible_v< U, T >, int > = 0> | |
| constexpr | expected (U &&value) |
| template<typename... Args, std::enable_if_t< std::is_constructible_v< T, Args... >, int > = 0> | |
| constexpr | expected (std::in_place_t, Args &&... args) |
| constexpr | expected (unexpected< E > const &error) |
| constexpr | expected (unexpected< E > &&error) |
| template<typename... Args, std::enable_if_t< std::is_constructible_v< E, Args... >, int > = 0> | |
| constexpr | expected (unexpect_t, Args &&... args) |
| template<typename U = T, std::enable_if_t<!std::is_same_v< std::decay_t< U >, expected > &&std::is_constructible_v< T, U > &&std::is_assignable_v< T &, U > &&(std::is_nothrow_constructible_v< T, U >||std::is_nothrow_move_constructible_v< T >||std::is_nothrow_move_constructible_v< E >), int > = 0> | |
| auto | operator= (U &&value) -> expected & |
| template<typename G , std::enable_if_t< std::is_constructible_v< E, G const & > &&std::is_assignable_v< E &, G const & > &&(std::is_nothrow_constructible_v< E, G const & >||std::is_nothrow_move_constructible_v< E >||std::is_nothrow_move_constructible_v< T >), int > = 0> | |
| auto | operator= (unexpected< G > const &error) -> expected & |
| template<typename G , std::enable_if_t< std::is_constructible_v< E, G > &&std::is_assignable_v< E &, G > &&(std::is_nothrow_constructible_v< E, G >||std::is_nothrow_move_constructible_v< E >||std::is_nothrow_move_constructible_v< T >), int > = 0> | |
| auto | operator= (unexpected< G > &&error) -> expected & |
| constexpr auto | has_value () const noexcept -> bool |
| constexpr | operator bool () const noexcept |
| constexpr auto | operator-> () noexcept -> T * |
| constexpr auto | operator-> () const noexcept -> T const * |
| constexpr auto | operator* () &noexcept -> T & |
| constexpr auto | operator* () const &noexcept -> T const & |
| constexpr auto | operator* () &&noexcept -> T && |
| constexpr auto | operator* () const &&noexcept -> T const && |
| auto | value () &-> T & |
| auto | value () const &-> T const & |
| auto | value () &&-> T && |
| auto | value () const &&-> T const && |
| constexpr auto | error () &noexcept -> E & |
| constexpr auto | error () const &noexcept -> E const & |
| constexpr auto | error () &&noexcept -> E && |
| constexpr auto | error () const &&noexcept -> E const && |
| template<typename U > | |
| auto | value_or (U &&fallback) const &-> T |
| template<typename U > | |
| auto | value_or (U &&fallback) &&-> T |
| template<typename... Args, std::enable_if_t< std::is_nothrow_constructible_v< T, Args... >, int > = 0> | |
| auto | emplace (Args &&... args) noexcept -> T & |
| void | swap (expected &other) noexcept(std::is_nothrow_move_constructible_v< T > &&std::is_nothrow_move_constructible_v< E > &&std::is_nothrow_swappable_v< T > &&std::is_nothrow_swappable_v< E >) |
| template<typename F > | |
| auto | and_then (F &&f) & |
| template<typename F > | |
| auto | and_then (F &&f) const & |
| template<typename F > | |
| auto | and_then (F &&f) && |
| template<typename F > | |
| auto | and_then (F &&f) const && |
| template<typename F > | |
| auto | or_else (F &&f) & |
| template<typename F > | |
| auto | or_else (F &&f) const & |
| template<typename F > | |
| auto | or_else (F &&f) && |
| template<typename F > | |
| auto | or_else (F &&f) const && |
| template<typename F > | |
| auto | transform (F &&f) & |
| template<typename F > | |
| auto | transform (F &&f) const & |
| template<typename F > | |
| auto | transform (F &&f) && |
| template<typename F > | |
| auto | transform (F &&f) const && |
| template<typename F > | |
| auto | transform_error (F &&f) & |
| template<typename F > | |
| auto | transform_error (F &&f) const & |
| template<typename F > | |
| auto | transform_error (F &&f) && |
| template<typename F > | |
| auto | transform_error (F &&f) const && |
Friends | |
| template<typename T2 , typename E2 > | |
| auto | operator== (expected const &lhs, expected< T2, E2 > const &rhs) -> bool |
| template<typename T2 , typename E2 > | |
| auto | operator!= (expected const &lhs, expected< T2, E2 > const &rhs) -> bool |
| template<typename T2 , std::enable_if_t<!std::is_same_v< expected, std::decay_t< T2 > >, int > = 0> | |
| auto | operator== (expected const &lhs, T2 const &rhs) -> bool |
| template<typename T2 , std::enable_if_t<!std::is_same_v< expected, std::decay_t< T2 > >, int > = 0> | |
| auto | operator== (T2 const &lhs, expected const &rhs) -> bool |
| template<typename T2 , std::enable_if_t<!std::is_same_v< expected, std::decay_t< T2 > >, int > = 0> | |
| auto | operator!= (expected const &lhs, T2 const &rhs) -> bool |
| template<typename T2 , std::enable_if_t<!std::is_same_v< expected, std::decay_t< T2 > >, int > = 0> | |
| auto | operator!= (T2 const &lhs, expected const &rhs) -> bool |
| template<typename E2 > | |
| auto | operator== (expected const &lhs, unexpected< E2 > const &rhs) -> bool |
| template<typename E2 > | |
| auto | operator== (unexpected< E2 > const &lhs, expected const &rhs) -> bool |
| template<typename E2 > | |
| auto | operator!= (expected const &lhs, unexpected< E2 > const &rhs) -> bool |
| template<typename E2 > | |
| auto | operator!= (unexpected< E2 > const &lhs, expected const &rhs) -> bool |
Definition at line 514 of file expected.hpp.
| using threadschedule::expected< T, E >::error_type = E |
Definition at line 518 of file expected.hpp.
| using threadschedule::expected< T, E >::unexpected_type = unexpected<E> |
Definition at line 519 of file expected.hpp.
| using threadschedule::expected< T, E >::value_type = T |
Definition at line 517 of file expected.hpp.
|
inlineconstexpr |
Definition at line 522 of file expected.hpp.
|
delete |
|
default |
|
default |
|
default |
|
inlineconstexpr |
Definition at line 539 of file expected.hpp.
|
inlineexplicitconstexpr |
Definition at line 547 of file expected.hpp.
|
inlineexplicitconstexpr |
Definition at line 551 of file expected.hpp.
|
inlineconstexpr |
Definition at line 555 of file expected.hpp.
|
inlineconstexpr |
Definition at line 556 of file expected.hpp.
|
inlineexplicitconstexpr |
Definition at line 558 of file expected.hpp.
|
inline |
Definition at line 715 of file expected.hpp.
|
inline |
Definition at line 727 of file expected.hpp.
|
inline |
Definition at line 721 of file expected.hpp.
|
inline |
Definition at line 733 of file expected.hpp.
|
inlinenoexcept |
Definition at line 702 of file expected.hpp.
|
inlineconstexprnoexcept |
Definition at line 678 of file expected.hpp.
|
inlineconstexprnoexcept |
Definition at line 668 of file expected.hpp.
Referenced by threadschedule::expected< void, E >::error(), threadschedule::expected< T, E >::operator=(), threadschedule::expected< void, E >::operator=(), threadschedule::expected< T, E >::operator=(), threadschedule::expected< void, E >::operator=(), threadschedule::detail::set_worker_affinity(), threadschedule::expected< T, E >::value(), and threadschedule::expected< T, E >::value().
|
inlineconstexprnoexcept |
Definition at line 683 of file expected.hpp.
|
inlineconstexprnoexcept |
Definition at line 673 of file expected.hpp.
|
inlineconstexprnoexcept |
Definition at line 599 of file expected.hpp.
Referenced by threadschedule::expected< T, E >::operator bool(), threadschedule::expected< void, E >::operator bool(), threadschedule::detail::inline_pool_backend::submit(), threadschedule::detail::thread_pool_backend_base< WaitPolicy >::submit(), threadschedule::detail::work_stealing_pool_backend::submit(), threadschedule::detail::inline_pool_backend::submit_batch(), threadschedule::detail::thread_pool_backend_base< WaitPolicy >::submit_batch(), threadschedule::detail::work_stealing_pool_backend::submit_batch(), threadschedule::expected< T, E >::value(), threadschedule::expected< T, E >::value(), threadschedule::expected< void, E >::value(), threadschedule::expected< T, E >::value(), threadschedule::expected< T, E >::value(), threadschedule::expected< T, E >::value_or(), and threadschedule::expected< T, E >::value_or().
|
inlineexplicitconstexprnoexcept |
Definition at line 604 of file expected.hpp.
References threadschedule::expected< T, E >::has_value().
|
inlineconstexprnoexcept |
Definition at line 629 of file expected.hpp.
|
inlineconstexprnoexcept |
Definition at line 619 of file expected.hpp.
|
inlineconstexprnoexcept |
Definition at line 634 of file expected.hpp.
|
inlineconstexprnoexcept |
Definition at line 624 of file expected.hpp.
|
inlineconstexprnoexcept |
Definition at line 614 of file expected.hpp.
|
inlineconstexprnoexcept |
Definition at line 609 of file expected.hpp.
|
default |
|
default |
|
inline |
Definition at line 570 of file expected.hpp.
References threadschedule::expected< T, E >::value().
|
inline |
Definition at line 592 of file expected.hpp.
References threadschedule::expected< T, E >::error().
|
inline |
Definition at line 581 of file expected.hpp.
References threadschedule::expected< T, E >::error().
|
inline |
Definition at line 739 of file expected.hpp.
|
inline |
Definition at line 751 of file expected.hpp.
|
inline |
Definition at line 745 of file expected.hpp.
|
inline |
Definition at line 757 of file expected.hpp.
|
inlinenoexcept |
Definition at line 707 of file expected.hpp.
|
inline |
Definition at line 763 of file expected.hpp.
|
inline |
Definition at line 775 of file expected.hpp.
|
inline |
Definition at line 769 of file expected.hpp.
|
inline |
Definition at line 781 of file expected.hpp.
|
inline |
Definition at line 787 of file expected.hpp.
|
inline |
Definition at line 799 of file expected.hpp.
|
inline |
Definition at line 793 of file expected.hpp.
|
inline |
Definition at line 805 of file expected.hpp.
|
inline |
Definition at line 654 of file expected.hpp.
References threadschedule::expected< T, E >::error(), threadschedule::expected< T, E >::has_value(), and THREADSCHEDULE_EXPECTED_THROW.
|
inline |
Definition at line 640 of file expected.hpp.
References threadschedule::expected< T, E >::has_value(), and THREADSCHEDULE_EXPECTED_THROW.
Referenced by threadschedule::expected< T, E >::operator=(), threadschedule::detail::inline_pool_backend::submit(), threadschedule::detail::thread_pool_backend_base< WaitPolicy >::submit(), threadschedule::detail::work_stealing_pool_backend::submit(), threadschedule::detail::inline_pool_backend::submit_batch(), threadschedule::detail::thread_pool_backend_base< WaitPolicy >::submit_batch(), and threadschedule::detail::work_stealing_pool_backend::submit_batch().
|
inline |
Definition at line 661 of file expected.hpp.
References threadschedule::expected< T, E >::error(), threadschedule::expected< T, E >::has_value(), and THREADSCHEDULE_EXPECTED_THROW.
|
inline |
Definition at line 647 of file expected.hpp.
References threadschedule::expected< T, E >::has_value(), and THREADSCHEDULE_EXPECTED_THROW.
|
inline |
Definition at line 696 of file expected.hpp.
References threadschedule::expected< T, E >::has_value().
|
inline |
Definition at line 690 of file expected.hpp.
References threadschedule::expected< T, E >::has_value().
|
friend |
Definition at line 839 of file expected.hpp.
|
friend |
Definition at line 857 of file expected.hpp.
|
friend |
Definition at line 881 of file expected.hpp.
|
friend |
Definition at line 863 of file expected.hpp.
|
friend |
Definition at line 887 of file expected.hpp.
|
friend |
Definition at line 831 of file expected.hpp.
|
friend |
Definition at line 845 of file expected.hpp.
|
friend |
Definition at line 869 of file expected.hpp.
|
friend |
Definition at line 851 of file expected.hpp.
|
friend |
Definition at line 875 of file expected.hpp.