使ってみる。

冗談半分とはいえ、SWITCHマクロを作ってしまったので、使ってみる。
FizzBuzz問題

for(int i =1; i <= 100; ++i)
{
  SWITCH(i)
  {
    DEFAULT
      std::cout << i;
      break;
    COND(_%3==0)
      std::cout << "Fizz";
      CONTINUE;
    COND(_%5==0)
      std::cout << "Buzz";
      CONTINUE;
  }
  ENDSWITCH;
  std::cout << ' ';
}

閏年・平年を表示

SWITCH(year)
{
  DEFAULT
  WEAK_COND(2, _%100==0)
    std::cout << "平年です\n";
    break;
  WEAK_COND(1, _%4==0)
  COND(_%400==0)
    std::cout << "閏年です\n";
    break;
}
ENDSWITCH;

範囲指定のテスト

double x;
...
std::cout << "xは";
SWITCH(x)
{
  RANGE([1.0](2.0))
    std::cout << " 1 以上 2 未満です\n";
    break;
  XRANGE([-4.0],[6.0])
    std::cout << " -4 以下 又は 6 以上です\n";
    break;
  XRANGE((-2.0),)
    std::cout << " -2 未満ですです\n";
    break;
  XRANGE(,(3.0))
    std::cout << " 3 より大きい\n";
    break;
}
ENDSWITCH;

それなりにまあまあ便利に見えるが、これをどうしても使いたいというコードが思い浮かばない。