◐ Shell
clean mode source ↗

Концепции C++: BitmaskType — cppreference.com

Материал из cppreference.com

<metanoindex/>

Определяет тип, который может быть использован для представляют собой набор постоянных значений или любое сочетание этих ценностей. Эта черта, как правило, реализуется целых типов, std::bitset, или перечисления (и незаданной областью) с дополнительной перегрузки оператора.

Оригинал:

Defines a type that can be used to represent a set of constant values or any combination of those values. This trait is typically implemented by integer types, std::bitset, or enumerations (scoped and unscoped) with additional operator overloads.

Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.

Требования

Битовой маски тип поддерживает конечное число элементов битовой маски, которые отличаются значения битовой маски, типа, такая, что для любой пары Ci и Cj, Ci & Ci != 0 и Ci & Cj == 0.

Оригинал:

The bitmask type supports a finite number of bitmask elements, which are distinct values of the bitmask type, such that, for any pair Ci and Cj, Ci & Ci != 0 and Ci & Cj == 0.

Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.

Битовые операторы operator&, operator|, operator^, operator~, operator&=, operator|=, и operator^= определены для значений битовой маски типа и имеют ту же семантику, что и соответствующие встроенные операторы на целые числа без знака бы, если бы битовой маски элементы были различны целое Полномочия два.

Оригинал:

The bitwise operators operator&, operator|, operator^, operator~, operator&=, operator|=, and operator^= are defined for values of the bitmask type and have the same semantics as the corresponding built-in operators on unsigned integers would have if the bitmask elements were the distinct integer powers of two.

Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.

Следующие выражения хорошо сформированы и имеют следующее значение для любого BitsetType X

Оригинал:

The following expressions are well-formed and have the following meaning for any BitsetType X

Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.

X |= Y

устанавливает значение Y в объект X

Оригинал:

sets the value Y in the object X

Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.

X &= ~Y

очищает значение Y в объект X

Оригинал:

clears the value Y in the object X

Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.

X&Y != 0

указывает, что значение Y установлена ​​в объект X

Оригинал:

indicates that the value Y is set in the object X

Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.

Каждый элемент representible битовой маски определяется как constexpr значение битовой маски, типа.

Оригинал:

Each representible bitmask element is defined as a constexpr value of the bitmask type.

Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.

Статистика

Следующие стандартные типы библиотек удовлетворяют BitmaskType

Оригинал:

The following standard library types satisfy BitmaskType:

Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.

  • std::ctype_base::mask
  • std::ios_base::fmtflags
  • std::ios_base::iostate
  • std::ios_base::openmode
  • std::regex_traits::char_class_type
  • std::regex_constants::syntax_option_type
  • std::regex_constants::match_flag_type
  • std::launch,

Код, который опирается на некоторый конкретный вариант реализации (например, int n = std::ios_base::hex), является непереносимой, потому что std::ios_base::fmtflags не обязательно неявно преобразуются в int.

Оригинал:

Code that relies on some particular implementation option (e.g. int n = std::ios_base::hex), is nonportable because std::ios_base::fmtflags is not necessarily implicitly convertible to int.

Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.