ITAUncopyable.h 1.1 KB
Newer Older
Jonas Stienen's avatar
Jonas Stienen committed
1
/*
2 3 4 5
 * ----------------------------------------------------------------
 *
 *		ITA core libs
 *		(c) Copyright Institute of Technical Acoustics (ITA)
6
 *		RWTH Aachen University, Germany, 2015-2018
7 8 9 10 11 12 13 14 15 16 17
 *
 * ----------------------------------------------------------------
 *				    ____  __________  _______
 *				   //  / //__   ___/ //  _   |
 *				  //  /    //  /    //  /_|  |
 *				 //  /    //  /    //  ___   |
 *				//__/    //__/    //__/   |__|
 *
 * ----------------------------------------------------------------
 *
 */
Jonas Stienen's avatar
Jonas Stienen committed
18 19 20 21 22 23 24 25 26 27 28 29

#ifndef INCLUDE_WATCHER_ITA_UNCOPYABLE
#define INCLUDE_WATCHER_ITA_UNCOPYABLE

#include <ITABaseDefinitions.h>

// Idee: Scott Meyers - Effective C++

class ITA_BASE_API ITAUncopyable
{
protected:
	// Erlaubt fr Unterklassen: Standardkonstruktor
30
	inline ITAUncopyable() {};
Jonas Stienen's avatar
Jonas Stienen committed
31 32

	// Erlaubt fr Unterklassen: Destruktor
33
	virtual inline ~ITAUncopyable() {};
Jonas Stienen's avatar
Jonas Stienen committed
34 35 36

private:
	// Verboten fr alle: Kopierkonstruktor
37
	inline ITAUncopyable( const ITAUncopyable& ) {};
Jonas Stienen's avatar
Jonas Stienen committed
38 39

	// Verboten fr alle: Zuweisungsoperator
40
	ITAUncopyable& operator=( const ITAUncopyable& );
Jonas Stienen's avatar
Jonas Stienen committed
41 42 43
};

#endif // INCLUDE_WATCHER_ITA_UNCOPYABLE