Enum. C ++ en foreach [duplicado]

Posibles duplicados:
Enumerar sobre una enumeración en C ++
C ++: iterar a través de una enumeración

Tengo una clase de cartas para un juego de blackjack con las siguientes enumeraciones:

enum Rank { Ace, Two, Three, Four, Five, Six, Seven, Eight, Nine, Ten, Jack, Queen, King };
enum Suit { Clubs, Diamonds, Hearts, Spades };

Cuando creo el mazo quiero escribir el código así:

// foreach Suit in Card::Suit
//   foreach Rank in Card::Rank
//     add new card(rank, suit) to deck

Creo que no hay foreach en c ++. Sin embargo, ¿cómo atravesar una enumeración?

Gracias Spencer

Respuestas a la pregunta(1)

Su respuesta a la pregunta