std::is_implicit_lifetime(3)

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

πŸ’– NAME πŸ’–

std::is_implicit_lifetime β€” std::is_implicit_lifetime.

okay so bestie, welcome to the std::is_implicit_lifetime page from the C++ Standard Libary manual β€” yes, that manual name is literally right there at the top in the original header, and we're folding it in here instead of copying the whole header line, periodt. πŸ’…

✨ Synopsis ✨

Here's the whole shape of it, no cap:

Defined in header <type_traits>
template< class T >              (since C++23)
struct is_implicit_lifetime;

std::is_implicit_lifetime is a UnaryTypeTrait.

If T is an implicit-lifetime type, it provides the member constant value equal to true. For any other type, value is false.

The behavior is undefined if T is an incomplete type other than an array type or (possibly cv-qualified) void. Like, that's the scary one β€” don't do it, fr fr. 😭

If the program adds specializations for std::is_implicit_lifetime or std::is_implicit_lifetime_v, the behavior is undefined.

🧩 Template parameters

  • T β€” a type to check

🧚 Helper variable template

template< class T >
inline constexpr bool is_implicit_lifetime_v =
(since C++23)
is_implicit_lifetime<T>::value;

🧬 Inherited from std::integral_constant

🌟 Member constants

  • value β€” true if T is an implicit-lifetime type, false otherwise. [static] (public static member constant)

πŸŽ€ Member functions

  • operator bool β€” converts the object to bool, returns value (public member function)
  • operator() β€” returns value (C++14) (public member function)

πŸ¦‹ Member types

  • value_type β€” bool
  • type β€” std::integral_constant<bool, value>

πŸ“ Notes ✨

  • Feature-test macro: __cpp_lib_is_implicit_lifetime β€” value 202302L (C++23), feature std::is_implicit_lifetime

πŸ“ Example πŸ“

This section is incomplete. Reason: example.

That's literally it, bestie β€” no example yet, just the reason. πŸ™ˆ

πŸ‘€ See also πŸ‘€

  • is_scalar β€” checks if a type is a scalar type (C++11) (class template)
  • is_array β€” checks if a type is an array type (C++11) (class template)
  • is_aggregate β€” checks if a type is an aggregate type (C++17) (class template)
  • start_lifetime_as β€” implicitly creates objects in given storage with the object representation reused (C++23) (function template)
  • start_lifetime_as_array β€” implicitly creates objects in given storage with the object representation reused (C++23) (function template)

🏷️ Category 🏷️

  • Todo with reason

okay that's the whole page, bestie πŸ’… big shoutout to http://cppreference.com, the 2024.06.10 version, and the std::is_implicit_lifetime(3) page itself β€” mwah πŸ’‹βœ¨

πŸ“¦ where this page comes from