|
RPNX::QueryGraph
Typed, memoized, concurrent query evaluation for C++23
|
Internal value-or-error state shared by query awaitables and dumps. More...
#include <querygraph.hpp>
Public Member Functions | |
| result ()=default | |
| Construct a pending result. | |
| result (T value) | |
Construct a completed result from value. | |
| result (std::exception_ptr exception) | |
| Construct a failed result from an unexpected exception. | |
| void | test () const |
| Rethrow the stored error, if one exists. | |
| T & | get () & |
| Return the value or throw the stored error. | |
| T const & | get () const & |
| Return the value or throw the stored error. | |
| T && | get () && |
| Return the value or throw the stored error. | |
| T const && | get () const && |
| Return the value or throw the stored error. | |
| T & | value () & |
Alias for get() preserving the value category. | |
| T const & | value () const & |
Alias for get() preserving the value category. | |
| T && | value () && |
Alias for get() preserving the value category. | |
| T const && | value () const && |
Alias for get() preserving the value category. | |
| void | set_value (T value) |
| Replace any prior state with a completed value. | |
| void | set_error (error_result error) |
Replace any prior state with error. | |
| void | set_error (std::exception_ptr exception) |
| Replace any prior state with an unexpected exception. | |
| void | set_exception (std::exception_ptr exception) |
Compatibility spelling for set_error(exception). | |
| bool | has_result () const |
| Return whether evaluation produced either a value or an error. | |
| bool | has_value () const |
| Return whether evaluation completed successfully. | |
| bool | has_error () const |
| Return whether evaluation completed with an error. | |
| bool | has_exception () const |
Compatibility spelling for has_error(). | |
| bool | has_canonical_error () const |
| Return whether the result contains a canonical error. | |
| bool | has_unexpected_exception () const |
| Return whether the result contains an unexpected exception. | |
| error_result const & | get_error_result () const |
| Return the stored error state without throwing. | |
| std::exception_ptr | get_error () const |
| Materialize the stored error as an exception pointer. | |
| status | result_status () const |
| Return the status used when serializing this result. | |
| operator bool () const | |
| Return whether evaluation has reached any terminal state. | |
Internal value-or-error state shared by query awaitables and dumps.
Unlike std::expected, a default-constructed instance is pending: it has neither a value nor an error. Accessors rethrow stored errors before returning a value.
| T | Successful value type. |
Definition at line 512 of file querygraph.hpp.
|
inline |
Construct a completed result from value.
Definition at line 522 of file querygraph.hpp.
References value().
|
inline |
Construct a failed result from an unexpected exception.
Definition at line 527 of file querygraph.hpp.
|
inline |
Return the value or throw the stored error.
Definition at line 541 of file querygraph.hpp.
References test().
Referenced by value(), value(), and rpnx::querygraph::result< void >::value().
|
inline |
Return the value or throw the stored error.
Definition at line 557 of file querygraph.hpp.
References test().
|
inline |
Return the value or throw the stored error.
Definition at line 549 of file querygraph.hpp.
References test().
|
inline |
Return the value or throw the stored error.
Definition at line 565 of file querygraph.hpp.
References test().
|
inline |
Materialize the stored error as an exception pointer.
Definition at line 665 of file querygraph.hpp.
|
inline |
Return the stored error state without throwing.
Definition at line 659 of file querygraph.hpp.
Referenced by rpnx::querygraph::debug_abi::graph::node_debug_io_capture_enabled(), and rpnx::querygraph::debug_abi::graph::register_binary_descriptors().
|
inline |
Return whether the result contains a canonical error.
Definition at line 647 of file querygraph.hpp.
|
inline |
Return whether evaluation completed with an error.
Definition at line 635 of file querygraph.hpp.
Referenced by has_exception(), and rpnx::querygraph::result< void >::has_exception().
|
inline |
Compatibility spelling for has_error().
Definition at line 641 of file querygraph.hpp.
References has_error().
Referenced by rpnx::querygraph::debug_abi::graph::register_binary_descriptors().
|
inline |
Return whether evaluation produced either a value or an error.
Definition at line 623 of file querygraph.hpp.
Referenced by rpnx::querygraph::debug_abi::graph::node_debug_io_capture_enabled(), operator bool(), and rpnx::querygraph::result< void >::operator bool().
|
inline |
Return whether the result contains an unexpected exception.
Definition at line 653 of file querygraph.hpp.
Referenced by rpnx::querygraph::debug_abi::graph::node_debug_io_capture_enabled().
|
inline |
Return whether evaluation completed successfully.
Definition at line 629 of file querygraph.hpp.
Referenced by rpnx::querygraph::debug_abi::graph::register_binary_descriptors().
|
inlineexplicit |
Return whether evaluation has reached any terminal state.
Definition at line 681 of file querygraph.hpp.
References has_result().
|
inline |
Return the status used when serializing this result.
Definition at line 671 of file querygraph.hpp.
Referenced by rpnx::querygraph::debug_abi::graph::register_binary_descriptors().
|
inline |
Replace any prior state with error.
Definition at line 604 of file querygraph.hpp.
Referenced by set_error(), rpnx::querygraph::result< void >::set_error(), set_exception(), and rpnx::querygraph::result< void >::set_exception().
|
inline |
Replace any prior state with an unexpected exception.
Definition at line 611 of file querygraph.hpp.
References set_error(), and rpnx::querygraph::error_result::unexpected().
|
inline |
Compatibility spelling for set_error(exception).
Definition at line 617 of file querygraph.hpp.
References set_error().
|
inline |
Replace any prior state with a completed value.
Definition at line 597 of file querygraph.hpp.
References value().
|
inline |
Rethrow the stored error, if one exists.
Definition at line 532 of file querygraph.hpp.
Referenced by get(), get(), get(), get(), and rpnx::querygraph::result< void >::get().
|
inline |
Alias for get() preserving the value category.
Definition at line 573 of file querygraph.hpp.
References get().
Referenced by result(), rpnx::querygraph::debug_abi::graph::register_binary_descriptors(), and set_value().
|
inline |
Alias for get() preserving the value category.
Definition at line 585 of file querygraph.hpp.
|
inline |
Alias for get() preserving the value category.
Definition at line 579 of file querygraph.hpp.
References get().
|
inline |
Alias for get() preserving the value category.
Definition at line 591 of file querygraph.hpp.