#ifndef THWEAVER_BITWISE_H #define THWEAVER_BITWISE_H #include template concept Bitwise = requires(T a, T b) { { a & b } -> std::same_as; { a | b } -> std::same_as; { a ^ b } -> std::same_as; { ~a } -> std::same_as; { a << 1 } -> std::same_as; { a >> 1 } -> std::same_as; }; #endif