複数の配列をひとつのループで処理したい

A, B, Cという配列があって、中に持っているオブジェクトの型が同じである時に、

foreach (HogeType h in A, B, C) {
  h.do()
}

みたいな感じで、Aの要素を全部走査したら次はBの要素に……という風にしたい。こういうのをサポートしている言語ってあるんでしょうか。

あ、Rubyなら

a = [0, 1, 2]
b = [3, 4, 5]
c = [6, 7, 8]

[a, b, c].flatten.each { |n|
  puts n
}

でできますね。このくらいのお手軽さが欲しい。C++でも少し頑張ればできるかなぁ。