std::experi...nstructible(3)

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

🌸 NAME 🌸

okay bestie, welcome to std::experi...nstructible(3) from the C++ Standard Libary β€” yes, that's the manual name, typo and all, no cap πŸ’€. This page is literally about std::experimental::ranges::Constructible β€” and the original repeats it for emphasis: std::experimental::ranges::Constructible.


πŸ¦‹ Synopsis πŸ¦‹

okay so here's the whole vibe: it's Defined in header <experimental/ranges/concepts>, and the declaration is giving ranges-TS main character energy:

template< class T, class... Args >

concept bool Constructible =
(ranges TS)

    Destructible<T> && std::is_constructible<T, Args...>::value;

The Constructible concept says that a variable of type T can be initialized with the given set of argument types Args.... That's the whole assignment, periodt πŸ’….

And listen β€” this is important, bestie, ngl: there need not be any subsumption relationship between Constructible<T, Args...> and std::is_constructible<T, Args...>::value. Not required. The vibe check says they don't have to be subsumed, so don't go inventing one πŸ”₯.


πŸ’… See also πŸ’…

The see-also crew is right here, and I'm obsessed with how much C++11 is in the chat:

  • is_constructible β€” (C++11), (class template)
  • is_trivially_constructible β€” (C++11)
  • is_nothrow_constructible β€” (C++11), checks if a type has a constructor for specific arguments

also the page has these version/type tags floating around: (C++11) three times and (class template) once β€” so yes, all the little table crumbs are accounted for 🫢.

okay that's the whole page, bestie β€” signing off from the source http://cppreference.com with the date 2024.06.10, on std::experi...nstructible(3). mwah πŸ’–

πŸ“¦ where this page comes from