Files
EASTL/test/source/TestCppCXTypeTraits.cpp
T
jeanlemotan 48ab06b1d9 First
2024-07-02 18:10:39 +02:00

36 lines
1.1 KiB
C++

/////////////////////////////////////////////////////////////////////////////
// Copyright (c) Electronic Arts Inc. All rights reserved.
/////////////////////////////////////////////////////////////////////////////
#include "EASTLTest.h"
#include <EASTL/type_traits.h>
using namespace eastl;
#if defined(__cplusplus_winrt)
ref class Foo
{
};
#endif
int TestCppCXTypeTraits()
{
int nErrorCount = 0;
// We can only build this code if C++/CX is enabled
#if defined(__cplusplus_winrt)
{
Foo^ foo = ref new Foo();
static_assert(eastl::is_pod<Foo^>::value == false, "Ref types are not POD");
static_assert(eastl::is_trivially_destructible<Foo^>::value == false, "Ref types cannot be trivially destructible");
static_assert(eastl::is_trivially_constructible<Foo^>::value == false, "Ref types cannot be trivially constructible");
static_assert(eastl::is_trivially_copy_constructible<Foo^>::value == false, "Ref types cannot be trivially copyable");
static_assert(eastl::is_trivially_copy_assignable<Foo^>::value == false, "Ref types cannot be trivially copyable");
}
#endif
return nErrorCount;
}