Поделиться через


Функция bit_and

Предопределенный объект функции, который выполняет операцию побитового И (бинарное operator&) на основе своих аргументов.

template<class Type = void>
    struct bit_and : public binary_function<Type, Type, Type> {
        Type operator()(
            const Type& Left, 
            const Type& Right
        )   const;
    };

// specialized transparent functor for operator&
template<>
   struct bit_and<void>
   {
      template<class Type1, class Type2>
      auto operator()(Type1&& Left, Type2&& Right) const
         -> decltype(std::forward<Type1>(Left)
            & std::forward<Type2>(Right));
   };

Параметры

  • Type, Type1, Type2
    Любой тип, поддерживающий operator&, принимающую операнды определение или возвращаемого типа.

  • Left
    Левый операнд побитовое И операции. Неспециализированный шаблон принимает аргумент ссылки значения типа Type. Представляет шаблон повышает препровождение аргументов ссылки rvalue возвращаемого значения и типа Type1.

  • Right
    Правый операнд побитовое И операции. Неспециализированный шаблон принимает аргумент ссылки значения типа Type. Представляет шаблон повышает препровождение аргументов ссылки rvalue возвращаемого значения и типа Type2.

Возвращаемое значение

Результат Left&Right. Представляет шаблон повышает препровождение результата, который имеет тип, который возвращается operator&.

Заметки

Функтором bit_and ограничено целочисленным типам для основных типов данных, или в пользовательские типы, реализующие бинарное operator&.

Требования

Заголовок: <functional>

Пространство имен: std

См. также

Ссылки

<functional>

Значения Lvalue и Rvalue

Библиотека стандартных шаблонов