std::bitset
のサイズを調べる方法はありますか?コンパイル時にstd :: bitsetのサイズを調べる方法
私は
typedef std::bitset<64> Bitset;
を持っていると私は、インスタンスを作成せずにサイズを知りたいです。例えば。私はbitset.h
にソースに見るとBitset::size
ようにそれは私には全く読めないですが、私が見つけにもかかわらず、私は思ったこれらの行
public:
enum {_EEN_BITS = _Bits};
typedef _Bitset_base<_Bits <= 8 ? 1
: _Bits <= 16 ? 2
: _Bits <= 32 ? 4
: 8> _Mybase;
typedef typename // sic
_Mybase::_Ty _Ty;
私はとき_Ty
のサイズを含めることができることを、教えてください、しかし、電話をしようBitset::_Ty
私はillegal use of this type as an expression
私はビットセットをtypedefする前にサイズを保存することができます知っているが、それは私が望むものではありません。
ビット数は列挙型の値_EEN_BITSでなければなりませんが、標準ライブラリの実装でこの宣言がないため、チェックできません。 –
@RafałRawickiですが、これはあまり移植性がないと思いますが、それは残念ながら – relaxxx
です。 C++のstdライブラリは完璧ではありません。 –