21 Metaprogramming library [meta]

21.4 Reflection [meta.reflection]

21.4.4 Class exception [meta.reflection.exception]

namespace std::meta { class exception : public std::exception { private: optional<string> what_; / exposition only u8string u8what_; / exposition only info from_; / exposition only source_location where_; / exposition only public: consteval exception(u8string_view what, info from, source_location where = source_location::current() noexcept; consteval exception(string_view what, info from, source_location where = source_location::current() noexcept; exception(const exception&) = default; exception(exception&&) = default; exception& operator=(const exception&) = default; exception& operator=(exception&&) = default; constexpr const char* what() const noexcept override; consteval u8string_view u8what() const noexcept; consteval info from() const noexcept; consteval source_location where() const noexcept; }; }
Reflection functions throw exceptions of type meta​::​exception to signal an error.
meta​::​exception is a consteval-only type.
consteval exception(u8string_view what, info from, source_location where = source_location::current() noexcept;
Effects: Initializes u8what_ with what, from_ with from, and where_ with where.
If what can be represented in the ordinary literal encoding, initializes what_ with what, transcoded from UTF-8 to the ordinary literal encoding.
Otherwise, what_ is value-initialized.
consteval exception(string_view what, info from, source_location where = source_location::current() noexcept;
Constant When: what designates a sequence of characters that can be encoded in UTF-8.
Effects: Initializes what_ with what, u8what_ with what transcoded from the ordinary literal encoding to UTF-8, from_ with from and where_ with where.
constexpr const char* what() const noexcept override;
Returns: what_->c_str().
consteval u8string_view u8what() const noexcept;
Returns: u8what_.
consteval info from() const noexcept;
Returns: from_.
consteval source_location where() const noexcept;
Returns: where_.

Follow Lee on X/Twitter - Father, Husband, Serial builder creating AI, crypto, games & web tools. We are friends :) AI Will Come To Life!

Check out: eBank.nz (Art Generator) | Netwrck.com (AI Tools) | Text-Generator.io (AI API) | BitBank.nz (Crypto AI) | ReadingTime (Kids Reading) | RewordGame | BigMultiplayerChess | WebFiddle | How.nz | Helix AI Assistant