現在作成しているコードで非常に一般的な問題があり、範囲が[start、end]である特定の範囲内にのみ存在できる整数が必要です。基本的に私は次のようなことができるようになりたいです:
cyclic_int ci(4, 8);
ci = 4;
assert(ci == 4);
ci += 3;
assert(ci == 7);
ci += 2;
assert(ci == 5);
assert(ci == 13);
そして、それはすべてtrueを返すはずです。基本的に、クラスは自動的にモジュラス(%)を適用し、整数は、初期化した範囲で循環整数として機能します。このクラスを自分で実装し、すべての一般的な演算子をオーバーロードして、通常の整数でうまく機能するようにすることもできますが、誰かが以前に作成した可能性のある便利なクラスのようです。
だから私の質問はこれです、誰もが使用するこのような一般的なクラスがどこかにありますか、それとも私はそれを間違った方法で行うことを考えていますか?より簡単な方法がありますか?(私の目的は、%演算子または同様の関数を適用することを常に考える必要がないことです)ありがとう。
編集:楽しみのために自分のものも書くことにしました:http://github.com/robertmassaioli/wrapping_number