Difference between revisions of "cpp/utility/expected/bad expected access"
(→Members of the primary template: +const -c++-23) |
YexuanXiao (Talk | contribs) m |
||
(One intermediate revision by one user not shown) | |||
Line 51: | Line 51: | ||
{{dcl begin}} | {{dcl begin}} | ||
{{dcl | | {{dcl | | ||
− | + | const char* what() const noexcept override; | |
}} | }} | ||
{{dcl end}} | {{dcl end}} | ||
Line 82: | Line 82: | ||
|output= | |output= | ||
}} | }} | ||
+ | |||
+ | {{langlinks|zh}} |
Latest revision as of 09:48, 17 April 2023
Defined in header <expected>
|
||
template< class E > class bad_expected_access : public std::bad_expected_access<void> |
(1) | (since C++23) |
template<> class bad_expected_access<void> : public std::exception |
(2) | (since C++23) |
bad_expected_access<E>
stores a copy of the unexpected value.bad_expected_access<void>
is the base class of all other bad_expected_access
specializations.This section is incomplete Reason: inheritance diagram |
Contents |
[edit] Members of the primary template
(constructor) |
constructs a bad_expected_access object (public member function) |
error |
returns the stored value (public member function) |
what |
returns the explanatory string (public member function) |
std::bad_expected_access::bad_expected_access
explicit bad_expected_access( E e ); |
||
Constructs a new bad_expected_access<E>
object. Initializes the stored value with std::move(e)
.
std::bad_expected_access::error
const E& error() const & noexcept; E& error() & noexcept; |
||
Returns a reference to the stored value.
std::bad_expected_access::what
const char* what() const noexcept override; |
||
Returns the explanatory string.
Parameters
(none)
Return value
Pointer to a null-terminated string with explanatory information. The string is suitable for conversion and display as a std::wstring. The pointer is guaranteed to be valid at least until the exception object from which it is obtained is destroyed, or until a non-const member function (e.g. copy assignment operator) on the exception object is called.
Notes
Implementations are allowed but not required to override what()
.
[edit] Members of the bad_expected_access<void>
specialization
(constructor) |
constructs a bad_expected_access<void> object (protected member function) |
(destructor) |
destroys the bad_expected_access<void> object (protected member function) |
operator= |
replaces the bad_expected_access<void> object (protected member function) |
what |
returns the explanatory string (public member function) |
Special member functions of bad_expected_access<void>
are protected. They can only be called by derived classes.
[edit] Example
This section is incomplete Reason: no example |