// A Scalar with internal representation T+1 so that zero is internally // represented by T(1). This is used to test memory fill. // #pragma once template class OffByOneScalar { public: OffByOneScalar() : val_(1) {} OffByOneScalar(const OffByOneScalar& other) = default; OffByOneScalar& operator=(const OffByOneScalar& other) = default; OffByOneScalar(T val) : val_(val + 1) {} OffByOneScalar& operator=(T val) { val_ = val + 1; } operator T() const { return val_ - 1; } private: T val_; };