3

私はAtomicというクラスを持っています。これは基本的に_Atomic_word、gccアトミックビルトインを呼び出すplusメソッドです。

class Atomic{
    mutable volatile _Atomic_word value_;
public:
    Atomic(int value = 0): value_(value) {}
    **** blah blah ****
};

std::numeric_limits<Atomic>インスタンス化したいと思いますstd::numeric_limits<underlying integer type>(たとえば、私のシステム_Atomic_wordでは、intのtypedefにすぎません)。

これを行う方法はありますか?

4

1 に答える 1

15

std::numeric_limits<Atomic>タイプとしてインスタンス化さAtomicれますが、それを覆すことはできません。しかし、あなたはこのように専門std::numeric_limitsにすることができますAtomic

template<>
class numeric_limits< Atomic > : public numeric_limits< Atomic::UnderlyingType >
{
};

明らかにUnderlyingTypeタイプとして公開しますAtomic

于 2009-10-23T18:46:01.550 に答える