map
条件に応じて、前方または後方を反復するメソッドがあります。操作自体は方向に依存しないため、次のようなことができるようにしたいと考えています。
std::map<int, int> some_map;
auto iter = some_condition ? some_map.begin() : some_map.rbegin();
for (; iter != some_condition ? some_map.end() : some_map.rend(); ++iter)
{
//something to do with *iter
}
テンプレート関数を使用してこれを実行できるはずですが (そうですか?)、少しやり過ぎのように思えます。
テンプレートなしで、1 つの関数でそれを行う方法はありますか? 多分使用して<algorithm>
?