したがって、この質問が出てきました。かなり単純なコーディングを行いながら、次のことを検討してください。
for(unsigned int x=0x00000000; x<0xFFFFFFFF; x++)
{
// ...
}
上記のコードは、'sizeof(unsigned int) >= 4' を想定して期待どおりに動作しますが、一部のプラットフォームではこれが当てはまらない場合があるため、これに似たものに興味があります。
for(RangeBasedInt<0x00000000, 0xFFFFFFFF>::type x=0x00000000; x<0xFFFFFFFF; x++)
{
// ...
}
'RangeInt' はテンプレートで、'type' は MINIMUM (0x00000000) から MAXIMUM (0xFFFFFFFF) までの値の範囲を保持するのに十分な大きさの最小の整数型です。
template<int MINIMUM, int MAXIMUM>
struct RangeBasedInt
{
// Type based upon MINIMUM and MAXIMUM
typedef /* MAGIC */ type;
};
したがって、問題は単純です。
- これは標準ライブラリのどこかに実装されていますか?
- そうでない場合、これを実装するライブラリはありますか、または std::numeric_limits に基づいて独自に構築する必要がありますか