This component provides a fully functional No-Limit Hold'em poker model with hand evaluation. API is not stable. Support for other games is planned and in development.
A normal use case of playing a game with user input should look something like this:
auto dealer = poker::dealer(players, button, blinds, deck, community_cards);
dealer.start_hand();
while (not dealer.done()) {
while (not dealer.betting_round_over())
dealer.action_taken(get_user_action());
dealer.end_betting_round();
}
dealer.showdown();