Spec-Zone.ru › C++

Именованные требования C++: BinaryTypeTrait (начиная с C++11)

BinaryTypeTrait — это шаблон класса, описывающий отношение между двумя параметрами типа своего шаблона с помощью специализации std::integral_constant (обычно std::bool_constant).

Требования

  • DefaultConstructible и CopyConstructible.
  • Принимает два параметра типа шаблона (дополнительные параметры шаблона необязательны и допустимы).
  • Открыто и однозначно наследуется от специализации std::integral_constant, называемой его базовой характеристикой.
  • Имена членов базовой характеристики не скрыты и доступны однозначно.

Стандартная библиотека

Следующие шаблоны классов стандартной библиотеки удовлетворяют требованиям BinaryTypeTrait:

is_same
(C++11)
проверяет, являются ли два типа одинаковыми
(шаблон класса)
is_base_of
(C++11)
проверяет, является ли один тип базовым для другого типа
(шаблон класса)
is_virtual_base_of
(C++26)
проверяет, является ли один тип виртуальным базовым типом для другого типа
(шаблон класса)
is_convertibleis_nothrow_convertible
(C++11)(C++20)
проверяет, можно ли преобразовать один тип в другой
(шаблон класса)
is_layout_compatible
(C++20)
проверяет, являются ли два типа совместимыми по размещению
(шаблон класса)
is_pointer_interconvertible_base_of
(C++20)
проверяет, является ли один тип базовым типом, взаимозаменяемым с указателем (начальным) для другого типа
(шаблон класса)
is_invocableis_invocable_ris_nothrow_invocableis_nothrow_invocable_r
(C++17)(C++17)(C++17)(C++17)
проверяет, можно ли вызвать объект типа (как если бы использовался std::invoke) с заданными типами аргументов
(шаблон класса)
uses_allocator
(C++11)
проверяет, поддерживает ли указанный тип конструирование с использованием аллокатора
(шаблон класса)

© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/cpp/named_req/BinaryTypeTrait

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API