Пространства имён
Варианты
Действия

Концепции C++: BitmaskType

Материал из cppreference.com
< cpp‎ | concept

Определяет тип, который может быть использован для представляют собой набор постоянных значений или любое сочетание этих ценностей. Эта черта, как правило, реализуется целых типов, 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.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
Код, который опирается на некоторый конкретный вариант реализации (например, 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.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.