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