mirror of
https://github.com/Milxnor/Project-Reboot-3.0.git
synced 2026-01-13 10:52:22 +01:00
124 files changed.
This commit is contained in:
27
Project Reboot 3.0/IsPODType.h
Normal file
27
Project Reboot 3.0/IsPODType.h
Normal file
@@ -0,0 +1,27 @@
|
||||
#pragma once
|
||||
|
||||
#include "inc.h"
|
||||
|
||||
#include "IsPointer.h"
|
||||
#include "AndOrNot.h"
|
||||
#include "IsArithmetic.h"
|
||||
|
||||
/**
|
||||
* Traits class which tests if a type is POD.
|
||||
*/
|
||||
|
||||
#if defined(_MSC_VER) && _MSC_VER >= 1900
|
||||
// __is_pod changed in VS2015, however the results are still correct for all usages I've been able to locate.
|
||||
#pragma warning(push)
|
||||
#pragma warning(disable:4647)
|
||||
#endif // _MSC_VER == 1900
|
||||
|
||||
template <typename T>
|
||||
struct TIsPODType
|
||||
{
|
||||
enum { Value = TOrValue<__is_pod(T) || __is_enum(T), TIsArithmetic<T>, TIsPointer<T>>::Value };
|
||||
};
|
||||
|
||||
#if defined(_MSC_VER) && _MSC_VER >= 1900
|
||||
#pragma warning(pop)
|
||||
#endif // _MSC_VER >= 1900
|
||||
Reference in New Issue
Block a user