Marshall Clow | 354d39c | 2014-01-16 16:58:45 +0000 | [diff] [blame] | 1 | //===----------------------------------------------------------------------===// |
| 2 | // |
| 3 | // The LLVM Compiler Infrastructure |
| 4 | // |
| 5 | // This file is dual licensed under the MIT and the University of Illinois Open |
| 6 | // Source Licenses. See LICENSE.TXT for details. |
| 7 | // |
| 8 | //===----------------------------------------------------------------------===// |
| 9 | |
Howard Hinnant | 3e51952 | 2010-05-11 19:42:16 +0000 | [diff] [blame] | 10 | #ifndef REP_H |
| 11 | #define REP_H |
| 12 | |
Eric Fiselier | 6b42540 | 2016-10-12 10:28:09 +0000 | [diff] [blame^] | 13 | #include "test_macros.h" |
| 14 | |
Howard Hinnant | 3e51952 | 2010-05-11 19:42:16 +0000 | [diff] [blame] | 15 | class Rep |
| 16 | { |
| 17 | int data_; |
| 18 | public: |
Eric Fiselier | 6b42540 | 2016-10-12 10:28:09 +0000 | [diff] [blame^] | 19 | TEST_CONSTEXPR Rep() : data_(-1) {} |
| 20 | explicit TEST_CONSTEXPR Rep(int i) : data_(i) {} |
Howard Hinnant | 3e51952 | 2010-05-11 19:42:16 +0000 | [diff] [blame] | 21 | |
Eric Fiselier | 6b42540 | 2016-10-12 10:28:09 +0000 | [diff] [blame^] | 22 | bool TEST_CONSTEXPR operator==(int i) const {return data_ == i;} |
| 23 | bool TEST_CONSTEXPR operator==(const Rep& r) const {return data_ == r.data_;} |
Howard Hinnant | 3e51952 | 2010-05-11 19:42:16 +0000 | [diff] [blame] | 24 | |
| 25 | Rep& operator*=(Rep x) {data_ *= x.data_; return *this;} |
| 26 | Rep& operator/=(Rep x) {data_ /= x.data_; return *this;} |
| 27 | }; |
| 28 | |
Howard Hinnant | 94b2dd0 | 2010-08-22 00:59:46 +0000 | [diff] [blame] | 29 | #endif // REP_H |