これはC++で書いても元ネタと変わらないのですが、せめてconstexprを付けた関数として実装することにしましょう。
0 1 2 3 4 5 6 7 8 9 10 |
constexpr unsigned another_day_of_week(unsigned day, unsigned day0, unsigned dow0) { return (dow0 + 35 + day - day0) % 7; } constexpr unsigned first_day_of_week(unsigned day0, unsigned dow0) { return another_day_of_week(1, day0, dow0); } |
今回はこれだけです。メタ関数を作ってもかまいませんが、もういいでしょう。