| 911 | int n_des = 0; |
| 912 | int n_cp = 0; |
| 913 | struct Value { |
| 914 | Value() : x_(0) { ++n_con; } |
| 915 | Value(int x) : x_(x) { ++ n_con; } |
| 916 | Value (const Value& rhs) : x_(rhs.x_) { ++ n_cp_con; } |
| 917 | ~Value() { |
| 918 | ++ n_des; |
| 919 | // CHECK(false); |
| 920 | } |
| 921 | |
| 922 | Value& operator= (const Value& rhs) { |
| 923 | x_ = rhs.x_; |
| 924 | ++ n_cp; |
| 925 | return *this; |
| 926 | } |
| 927 | |
| 928 | bool operator== (const Value& rhs) const { return x_ == rhs.x_; } |
| 929 | bool operator!= (const Value& rhs) const { return x_ != rhs.x_; } |
| 930 | |
| 931 | friend std::ostream& operator<< (std::ostream& os, const Value& v) |
| 932 | { return os << v.x_; } |
| 933 | |
| 934 | int x_; |
| 935 | }; |
| 936 | |
| 937 | int n_con_key = 0; |
| 938 | int n_cp_con_key = 0; |
no outgoing calls