FreeBSD Manual Pages
std::bad_variant_access(3) C++ Standard Libary std::bad_variant_access(3) NAME std::bad_variant_access - std::bad_variant_access Synopsis Defined in header <variant> class bad_variant_access : public std::exception (since C++17) std::bad_variant_access is the type of the exception thrown in the following situations: * std::get(std::variant) called with an index or type that does not match the currently active alternative * std::visit called to visit a variant that is valueless_by_excep- tion Member functions constructor constructs a new bad_variant_access object (public member function) operator= replaces the bad_variant_access object (public member function) what returns the explanatory string (public member function) std::bad_variant_access::bad_variant_access bad_variant_access() noexcept; (1) (since C++17) bad_variant_access( const bad_variant_access& other ) noexcept; (2) (since C++17) Constructs a new bad_variant_access object with an implementation- defined null-terminated byte string which is accessible through what(). 1) Default constructor. 2) Copy constructor. If *this and other both have dynamic type std::bad_variant_access then std::strcmp(what(), other.what()) == 0. Parameters other - another exception object to copy std::bad_variant_access::operator= bad_variant_access& operator=( const bad_variant_access& other ) (since C++17) noexcept; Assigns the contents with those of other. If *this and other both have dynamic type std::bad_variant_access then std::strcmp(what(), other.what()) == 0 after assignment. Parameters other - another exception object to assign with Return value *this std::bad_variant_access::what virtual const char* what() const noexcept; (since C++17) 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 ob- tained 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(). Inherited from std::exception Member functions destructor destroys the exception object [virtual] (virtual public member function of std::exception) what returns an explanatory string [virtual] (virtual public member function of std::exception) Example // Run this code #include <variant> #include <iostream> int main() { std::variant<int, float> v; v = 12; try { std::get<float>(v); } catch(const std::bad_variant_access& e) { std::cout << e.what() << '\n'; } } Possible output: bad_variant_access See also std::get(std::variant) reads the value of the variant given the in- dex or the type (C++17) (if the type is unique), throws on error (function template) visit calls the provided functor with the arguments held by one or (C++17) more variants (function template) http://cppreference.com 2022.07.31 std::bad_variant_access(3)
NAME | Synopsis | Member functions | Parameters | Parameters | Return value | Parameters | Return value | Notes | Member functions | Example | Possible output: | See also
Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=std::bad_variant_access&sektion=3&manpath=FreeBSD+Ports+15.0>
