1// Copyright 2014 The Android Open Source Project
2//
3// This software is licensed under the terms of the GNU General Public
4// License version 2, as published by the Free Software Foundation, and
5// may be copied, distributed, and modified under those terms.
6//
7// This program is distributed in the hope that it will be useful,
8// but WITHOUT ANY WARRANTY; without even the implied warranty of
9// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
10// GNU General Public License for more details.
11
12#ifndef ANDROID_BASE_COMPILER_H
13#define ANDROID_BASE_COMPILER_H
14
15// Use this in the private section of a class declaration to ensure
16// that the corresponding objects cannot be copy-constructed or
17// assigned. For example:
18//
19//   class Foo {
20//   public:
21//       .... public declarations
22//   private:
23//       DISALLOW_COPY_AND_ASSIGN(Foo)
24//       .... other private declarations
25//   };
26//
27#define DISALLOW_COPY_AND_ASSIGN(T)  \
28    T(const T& other); \
29    T& operator=(const T& other)
30
31#endif  // ANDROID_BASE_COMPILER_H
32