[bitwise.operations.and] # 22 General utilities library [[utilities]](./#utilities) ## 22.10 Function objects [[function.objects]](function.objects#bitwise.operations.and) ### 22.10.11 Bitwise operations [[bitwise.operations]](bitwise.operations#and) #### 22.10.11.2 Class template bit_and [bitwise.operations.and] [🔗](#lib:bit_and) `template struct bit_and { constexpr T operator()(const T& x, const T& y) const; }; ` [🔗](#lib:operator(),bit_and) `constexpr T operator()(const T& x, const T& y) const; ` [1](#1) [#](http://github.com/Eelis/draft/tree/9adde4bc1c62ec234483e63ea3b70a59724c745a/source/utilities.tex#L12950) *Returns*: x & y[.](#1.sentence-1) [🔗](#lib:bit_and%3c%3e) `template<> struct bit_and { template constexpr auto operator()(T&& t, U&& u) const -> decltype(std::forward(t) & std::forward(u)); using is_transparent = unspecified; }; ` [🔗](#lib:operator(),bit_and%3c%3e) `template constexpr auto operator()(T&& t, U&& u) const -> decltype(std::forward(t) & std::forward(u)); ` [2](#2) [#](http://github.com/Eelis/draft/tree/9adde4bc1c62ec234483e63ea3b70a59724c745a/source/utilities.tex#L12972) *Returns*: std​::​forward(t) & std​::​forward(u)[.](#2.sentence-1)