2019-11-11 00:11:59 -05:00
|
|
|
#pragma once
|
|
|
|
|
|
|
|
|
|
#ifndef __PL_COREDEFS_H__
|
|
|
|
|
#define __PL_COREDEFS_H__
|
|
|
|
|
|
|
|
|
|
#if __cplusplus >= 199711L
|
|
|
|
|
#define PL_IS_CPP11 1
|
|
|
|
|
#else
|
|
|
|
|
#define PL_IS_CPP11 0
|
|
|
|
|
#endif
|
|
|
|
|
|
|
|
|
|
#if PL_IS_CPP11
|
|
|
|
|
#define PL_DELETED = delete
|
2019-12-11 00:51:42 -05:00
|
|
|
#define PL_STATIC_ASSERT(n) static_assert((n), "Static assert failed: " #n)
|
2019-11-11 00:11:59 -05:00
|
|
|
#else
|
|
|
|
|
#ifndef nullptr
|
|
|
|
|
#define nullptr 0
|
|
|
|
|
#endif
|
|
|
|
|
|
|
|
|
|
#ifndef override
|
|
|
|
|
#define override
|
|
|
|
|
#endif
|
|
|
|
|
|
|
|
|
|
#ifndef final
|
|
|
|
|
#define final
|
|
|
|
|
#endif
|
|
|
|
|
|
|
|
|
|
#define PL_DELETED
|
|
|
|
|
|
2019-12-11 00:51:42 -05:00
|
|
|
template<bool TCondition>
|
|
|
|
|
struct __PL_StaticAssertHelper
|
|
|
|
|
{
|
|
|
|
|
};
|
2019-11-11 00:11:59 -05:00
|
|
|
|
2019-12-11 00:51:42 -05:00
|
|
|
template<>
|
|
|
|
|
struct __PL_StaticAssertHelper<true>
|
|
|
|
|
{
|
|
|
|
|
int staticAssertFailed;
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
#define PL_STATIC_ASSERT(n) ((void)(&static_cast<const __PL_StaticAssertHelper<(n)>*>(nullptr)->staticAssertFailed))
|
2019-11-11 00:11:59 -05:00
|
|
|
|
2019-12-11 00:51:42 -05:00
|
|
|
#endif
|
|
|
|
|
|
|
|
|
|
static const size_t PL_SYSTEM_MEMORY_ALIGNMENT = 16;
|
2019-11-11 00:11:59 -05:00
|
|
|
|
|
|
|
|
#endif
|