質問

Atomicというクラスがあり、これは基本的に_Atomic_wordプラスgcc atomic builtinsを呼び出すメソッドです。

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>にインスタンス化することを希望します(たとえば、私のシステムでは<=>はintの単なるtypedefです)。

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

役に立ちましたか?

解決

std::numeric_limits<Atomic>は、Atomicをタイプとしてインスタンス化します。これを破壊することはできません。ただし、このようにstd::numeric_limitsUnderlyingTypeに特化できます

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

明らかに<=>を<=>の型として公開します。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top