#define STRAIT_BOARD(first, second, last) \ constexpr uint32_t straitBoard_##first##_##last = static_cast< uint32_t >( Card::valCard::_##first ) |\ static_cast< uint32_t >( Card::valCard::_##second ) |\ static_cast< uint32_t >( Card::valCard::_##last ) STRAIT_BOARD(3, 4, 5); STRAIT_BOARD(4, 5, 6); STRAIT_BOARD(5, 6, 7); STRAIT_BOARD(6, 7, 8); STRAIT_BOARD(7, 8, 9); STRAIT_BOARD(8, 9, T); STRAIT_BOARD(9, T, J); STRAIT_BOARD(T, J, Q);