std::experi...al::nonesuch(3)

πŸ“¦ version 2024.07.05, in nixpkgs unstable, opensuse-leap 16.0

πŸ’– NAME πŸ’–

okay so welcome to the std::experi...al::nonesuch(3) page from the C++ Standard Libary, bestie ✨. The NAME line is std::experimental::nonesuch β€” std::experimental::nonesuch, and yes it's literally the same thing on both sides πŸ’€. iconic behavior, no notes.


πŸ“œ Synopsis πŸ“œ

          Defined in header <experimental/type_traits>
          struct nonesuch {

              ~nonesuch() = delete;
              nonesuch(nonesuch const&) = delete;        (library fundamentals
       TS v2)
              void operator=(nonesuch const&) = delete;

          };

std::experimental::nonesuch is a class type used by std::experimental::detected_t to indicate detection failure 🫢.

nonesuch has no default constructor or initializer-list constructor, and is not an aggregate. periodt.


πŸ“ Notes πŸ“

nonesuch cannot be constructed, destroyed, or copied 😭. that's the whole vibe: it's the "nope, detection failed" type, and it is extremely committed to being unusable in those ways πŸ’….

πŸ› Defect reports πŸ›

The following behavior-changing defect reports were applied retroactively to previously published C++ standards.

  • LWG 2960 β€” Applied to: LFTSv2
    • Behavior as published: nonesuch may be an aggregate and has an implicit conversion sequence from {}
    • Correct behavior: made non-aggregate and removed ICS

mwah πŸ’‹ β€” source: http://cppreference.com, version/date: 2024.06.10, and the page is std::experi...al::nonesuch(3). bye bestie 🫢✨

πŸ“¦ where this page comes from