athena/atdna/test.hpp

70 lines
1.3 KiB
C++
Raw Normal View History

2015-06-16 02:29:53 +00:00
#include <Athena/DNA.hpp>
2015-06-15 02:49:02 +00:00
using namespace Athena;
typedef io::DNA<BigEndian> BigDNA;
2015-06-15 02:49:02 +00:00
struct TESTSubFile : public BigDNA
2015-06-17 00:25:48 +00:00
{
DECL_DNA
Value<atUint32> sub1;
Value<atUint32> sub2;
};
struct TESTSubClassFile : public TESTSubFile
{
DECL_DNA
Value<atUint32> sub3;
Value<atUint32> sub4;
};
struct TESTSubSubClassFile : public TESTSubClassFile
{
DECL_DNA
Value<atUint32> sub5;
Value<atUint32> sub6;
};
struct TESTFile : public BigDNA
2015-06-15 02:49:02 +00:00
{
2015-06-17 00:25:48 +00:00
DECL_DNA
Value<bool> varBool;
2015-06-16 02:29:53 +00:00
Value<atUint32> var32;
2015-06-16 07:11:56 +00:00
Value<atUint16> var16;
2015-06-17 00:25:48 +00:00
Value<atVec3f> vec3;
Value<atVec4f> vec4;
struct TESTNestedSubFile : public BigDNA
2015-06-17 00:25:48 +00:00
{
DECL_DNA
Value<atUint32> nestSub1;
Value<atUint32> nestSub2;
} nestedSubFile;
2015-06-17 00:25:48 +00:00
TESTSubFile subFile;
2015-06-17 00:25:48 +00:00
Align<4> align;
struct TESTExplicitSubFile : public BigDNA
{
DECL_EXPLICIT_DNA
Value<atUint32> explSub1;
Value<atUint32> explSub2;
} explSubFile;
Value<atUint32> arrCount[2];
Vector<atUint32, DNA_COUNT(arrCount[0])> array;
Seek<21, Current> seek;
Value<atUint32> arrCount2;
Vector<TESTSubFile, DNA_COUNT(arrCount[1] + arrCount2)> array2;
Value<atUint32> bufSz;
Buffer<DNA_COUNT(bufSz)> buf;
String<32> str;
WString<64> wstr;
UTF8<> utf8str[5];
2015-06-15 02:49:02 +00:00
};
2015-06-16 07:11:56 +00:00