My Project
Loading...
Searching...
No Matches
NonCopyable.h
1/*
2 * Copyright (C) 2013 Canonical Ltd
3 *
4 * This program is free software: you can redistribute it and/or modify
5 * it under the terms of the GNU Lesser General Public License version 3 as
6 * published by the Free Software Foundation.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU Lesser General Public License for more details.
12 *
13 * You should have received a copy of the GNU Lesser General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 *
16 * Authored by: Michi Henning <michi.henning@canonical.com>
17 */
18
19//
20// Simple class to disable copy and assignment. (Provided here to avoid having to use
21// the equivalent boost version.)
22//
23// Use like this:
24//
25// class MyClass : private util::NonCopyable
26// {
27// // ...
28// };
29//
30
31#ifndef LOMIRI_UTIL_NONCOPYABLE_H
32#define LOMIRI_UTIL_NONCOPYABLE_H
33
34#include <lomiri/SymbolExport.h>
35
52
53#define NONCOPYABLE(ClassName) ClassName(ClassName const&) = delete; ClassName& operator=(ClassName const&) = delete
54
55#endif