A RetroSearch Logo

Home - News ( United States | United Kingdom | Italy | Germany ) - Football scores

Search Query:

Showing content from https://timsong-cpp.github.io/cppwp/n4659/meta.unary below:

23 General utilities library [utilities]

Template Condition Preconditions template <class T>
struct is_­const; T is const-qualified template <class T>
struct is_­volatile; T is volatile-qualified template <class T>
struct is_­trivial; T is a trivial type remove_­all_­extents_­t<T> shall be a complete type or cv void. template <class T>
struct is_­trivially_­copyable; T is a trivially copyable type remove_­all_­extents_­t<T> shall be a complete type or cv void. template <class T>
struct is_­standard_­layout; T is a standard-layout type remove_­all_­extents_­t<T> shall be a complete type or cv void. template <class T>
struct is_­pod; T is a POD type remove_­all_­extents_­t<T> shall be a complete type or cv void. template <class T>
struct is_­empty; T is a class type, but not a union type, with no non-static data members other than bit-fields of length 0, no virtual member functions, no virtual base classes, and no base class B for which is_­empty_­v<B> is false. If T is a non-union class type, T shall be a complete type. template <class T>
struct is_­polymorphic; T is a polymorphic class If T is a non-union class type, T shall be a complete type. template <class T>
struct is_­abstract; T is an abstract class If T is a non-union class type, T shall be a complete type. template <class T>
struct is_­final; T is a class type marked with the class-virt-specifier final (Clause [class]). [Note: A union is a class type that can be marked with final. end note] If T is a class type, T shall be a complete type. template <class T>
struct is_­aggregate; T is an aggregate type ([dcl.init.aggr]) remove_­all_­extents_­t<T> shall be a complete type or cv void. template <class T>
struct is_­signed; If is_­arithmetic_­v<T> is true, the same result as T(-1) < T(0); otherwise, false template <class T>
struct is_­unsigned; If is_­arithmetic_­v<T> is true, the same result as T(0) < T(-1); otherwise, false template <class T, class... Args>
struct is_­constructible; For a function type T or for a cv void type T, is_­constructible_­v<T, Args...> is false, otherwise see below T and all types in the parameter pack Args shall be complete types, cv void, or arrays of unknown bound. template <class T>
struct is_­default_­constructible; is_­constructible_­v<T> is true. T shall be a complete type, cv void, or an array of unknown bound. template <class T>
struct is_­copy_­constructible; For a referenceable type T, the same result as is_­constructible_­v<T, const T&>, otherwise false. T shall be a complete type, cv void, or an array of unknown bound. template <class T>
struct is_­move_­constructible; For a referenceable type T, the same result as is_­constructible_­v<T, T&&>, otherwise false. T shall be a complete type, cv void, or an array of unknown bound. template <class T, class U>
struct is_­assignable; The expression declval<T>() = declval<U>() is well-formed when treated as an unevaluated operand. Access checking is performed as if in a context unrelated to T and U. Only the validity of the immediate context of the assignment expression is considered. [Note: The compilation of the expression can result in side effects such as the instantiation of class template specializations and function template specializations, the generation of implicitly-defined functions, and so on. Such side effects are not in the “immediate context” and can result in the program being ill-formed. end note] T and U shall be complete types, cv void, or arrays of unknown bound. template <class T>
struct is_­copy_­assignable; For a referenceable type T, the same result as is_­assignable_­v<T&, const T&>, otherwise false. T shall be a complete type, cv void, or an array of unknown bound. template <class T>
struct is_­move_­assignable; For a referenceable type T, the same result as is_­assignable_­v<T&, T&&>, otherwise false. T shall be a complete type, cv void, or an array of unknown bound. template <class T, class U>
struct is_­swappable_­with; The expressions swap(declval<T>(), declval<U>()) and swap(declval<U>(), declval<T>()) are each well-formed when treated as an unevaluated operand in an overload-resolution context for swappable values ([swappable.requirements]). Access checking is performed as if in a context unrelated to T and U. Only the validity of the immediate context of the swap expressions is considered. [Note: The compilation of the expressions can result in side effects such as the instantiation of class template specializations and function template specializations, the generation of implicitly-defined functions, and so on. Such side effects are not in the “immediate context” and can result in the program being ill-formed. end note] T and U shall be complete types, cv void, or arrays of unknown bound. template <class T>
struct is_­swappable; For a referenceable type T, the same result as is_­swappable_­with_­v<T&, T&>, otherwise false. T shall be a complete type, cv void, or an array of unknown bound. template <class T>
struct is_­destructible; Either T is a reference type, or T is a complete object type for which the expression declval<U&>().~U() is well-formed when treated as an unevaluated operand, where U is remove_­all_­extents<T>. T shall be a complete type, cv void, or an array of unknown bound. template <class T, class... Args>
struct
is_­trivially_­constructible; is_­constructible_­v<T,
Args...> is true and the variable definition for is_­constructible, as defined below, is known to call no operation that is not trivial ([basic.types], [special]). T and all types in the parameter pack Args shall be complete types, cv void, or arrays of unknown bound. template <class T>
struct is_­trivially_­default_­constructible; is_­trivially_­constructible_­v<T> is true. T shall be a complete type, cv void, or an array of unknown bound. template <class T>
struct is_­trivially_­copy_­constructible; For a referenceable type T, the same result as is_­trivially_­constructible_­v<T, const T&>, otherwise false. T shall be a complete type, cv void, or an array of unknown bound. template <class T>
struct is_­trivially_­move_­constructible; For a referenceable type T, the same result as is_­trivially_­constructible_­v<T, T&&>, otherwise false. T shall be a complete type, cv void, or an array of unknown bound. template <class T, class U>
struct is_­trivially_­assignable; is_­assignable_­v<T, U> is true and the assignment, as defined by is_­assignable, is known to call no operation that is not trivial ([basic.types], [special]). T and U shall be complete types, cv void, or arrays of unknown bound. template <class T>
struct is_­trivially_­copy_­assignable; For a referenceable type T, the same result as is_­trivially_­assignable_­v<T&, const T&>, otherwise false. T shall be a complete type, cv void, or an array of unknown bound. template <class T>
struct is_­trivially_­move_­assignable; For a referenceable type T, the same result as is_­trivially_­assignable_­v<T&, T&&>, otherwise false. T shall be a complete type, cv void, or an array of unknown bound. template <class T>
struct is_­trivially_­destructible; is_­destructible_­v<T> is true and the indicated destructor is known to be trivial. T shall be a complete type, cv void, or an array of unknown bound. template <class T, class... Args>
struct is_­nothrow_­constructible; is_­constructible_­v<T, Args...> is true and the variable definition for is_­constructible, as defined below, is known not to throw any exceptions ([expr.unary.noexcept]). T and all types in the parameter pack Args shall be complete types, cv void, or arrays of unknown bound. template <class T>
struct is_­nothrow_­default_­constructible; is_­nothrow_­constructible_­v<T> is true. T shall be a complete type, cv void, or an array of unknown bound. template <class T>
struct is_­nothrow_­copy_­constructible; For a referenceable type T, the same result as is_­nothrow_­constructible_­v<T, const T&>, otherwise false. T shall be a complete type, cv void, or an array of unknown bound. template <class T>
struct is_­nothrow_­move_­constructible; For a referenceable type T, the same result as is_­nothrow_­constructible_­v<T, T&&>, otherwise false. T shall be a complete type, cv void, or an array of unknown bound. template <class T, class U>
struct is_­nothrow_­assignable; is_­assignable_­v<T, U> is true and the assignment is known not to throw any exceptions ([expr.unary.noexcept]). T and U shall be complete types, cv void, or arrays of unknown bound. template <class T>
struct is_­nothrow_­copy_­assignable; For a referenceable type T, the same result as is_­nothrow_­assignable_­v<T&, const T&>, otherwise false. T shall be a complete type, cv void, or an array of unknown bound. template <class T>
struct is_­nothrow_­move_­assignable; For a referenceable type T, the same result as is_­nothrow_­assignable_­v<T&, T&&>, otherwise false. T shall be a complete type, cv void, or an array of unknown bound. template <class T, class U>
struct is_­nothrow_­swappable_­with; is_­swappable_­with_­v<T, U> is true and each swap expression of the definition of is_­swappable_­with<T, U> is known not to throw any exceptions ([expr.unary.noexcept]). T and U shall be complete types, cv void, or arrays of unknown bound. template <class T>
struct is_­nothrow_­swappable; For a referenceable type T, the same result as is_­nothrow_­swappable_­with_­v<T&, T&>, otherwise false. T shall be a complete type, cv void, or an array of unknown bound. template <class T>
struct is_­nothrow_­destructible; is_­destructible_­v<T> is true and the indicated destructor is known not to throw any exceptions ([expr.unary.noexcept]). T shall be a complete type, cv void, or an array of unknown bound. template <class T>
struct has_­virtual_­destructor; T has a virtual destructor If T is a non-union class type, T shall be a complete type. template <class T>
struct has_­unique_­object_­representations; For an array type T, the same result as has_­unique_­object_­representations_­v<remove_­all_­extents_­t<T>>, otherwise see below. T shall be a complete type, cv void, or an array of unknown bound.

RetroSearch is an open source project built by @garambo | Open a GitHub Issue

Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo

HTML: 3.2 | Encoding: UTF-8 | Version: 0.7.4