Upstream version 8.36.169.0
[platform/framework/web/crosswalk.git] / src / third_party / libc++ / trunk / test / support / DefaultOnly.h
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
10 #ifndef DEFAULTONLY_H
11 #define DEFAULTONLY_H
12
13 #include <cassert>
14
15 class DefaultOnly
16 {
17     int data_;
18
19     DefaultOnly(const DefaultOnly&);
20     DefaultOnly& operator=(const DefaultOnly&);
21 public:
22     static int count;
23
24     DefaultOnly() : data_(-1) {++count;}
25     ~DefaultOnly() {data_ = 0; --count;}
26
27     friend bool operator==(const DefaultOnly& x, const DefaultOnly& y)
28         {return x.data_ == y.data_;}
29     friend bool operator< (const DefaultOnly& x, const DefaultOnly& y)
30         {return x.data_ < y.data_;}
31 };
32
33 int DefaultOnly::count = 0;
34
35 #endif  // DEFAULTONLY_H