mirror of
				https://github.com/vcmi/vcmi.git
				synced 2025-10-31 00:07:39 +02:00 
			
		
		
		
	
		
			
				
	
	
		
			48 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
			
		
		
	
	
			48 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
| /*
 | |
|  * StdInc.h, part of VCMI engine
 | |
|  *
 | |
|  * Authors: listed in file AUTHORS in main folder
 | |
|  *
 | |
|  * License: GNU General Public License v2.0 or later
 | |
|  * Full text of license available in license.txt file, in main folder
 | |
|  *
 | |
|  */
 | |
| #pragma once
 | |
| 
 | |
| #include "../Global.h"
 | |
| 
 | |
| #define VCMI_EDITOR_NAME "VCMI Map Editor"
 | |
| 
 | |
| #include <QtWidgets>
 | |
| #include <QStringList>
 | |
| #include <QSet>
 | |
| #include <QVector>
 | |
| #include <QList>
 | |
| #include <QString>
 | |
| #include <QFile>
 | |
| 
 | |
| #include "../vcmiqt/convpathqstring.h"
 | |
| 
 | |
| VCMI_LIB_USING_NAMESPACE
 | |
| 
 | |
| using NumericPointer = typename std::conditional_t<sizeof(void *) == sizeof(unsigned long long),
 | |
| 												 unsigned long long, unsigned int>;
 | |
| 
 | |
| template<class Type>
 | |
| NumericPointer data_cast(Type * _pointer)
 | |
| {
 | |
| 	static_assert(sizeof(Type *) == sizeof(NumericPointer),
 | |
| 				  "Cannot compile for that architecture, see NumericPointer definition");
 | |
| 
 | |
| 	return reinterpret_cast<NumericPointer>(_pointer);
 | |
| }
 | |
| 
 | |
| template<class Type>
 | |
| Type * data_cast(NumericPointer _numeric)
 | |
| {
 | |
| 	static_assert(sizeof(Type *) == sizeof(NumericPointer),
 | |
| 				  "Cannot compile for that architecture, see NumericPointer definition");
 | |
| 
 | |
| 	return reinterpret_cast<Type *>(_numeric);
 | |
| }
 |