22 std::cerr <<
"ABORTING VarLenTag TEST" << std::endl <<
"Structure is not valid" << std::endl;
36 #define OFFSET( A ) ( (char*)( &( A ) ) - (char*)this )
42 return OFFSET( mData.mData.mPointer.array );
46 return OFFSET( mData.mData.mPointer.size );
48 #ifdef VAR_LEN_TAG_ELIDE_DATA
49 unsigned inline_array_offset()
51 return OFFSET( mData.mData.mInline.array );
53 unsigned inline_size_offset()
55 return OFFSET( mData.mData.mInline.size );
69 #ifdef VAR_LEN_TAG_ELIDE_DATA
85 CHECK( (
unsigned char*)&tag != tag.
data() );
92 unsigned char* ptr = tag.
resize( 3 );
101 memcpy( tag.
data(),
"ABCDEFGHIJKLMNOPQRST",
sizeof(
void* ) );
102 unsigned char* ptr = tag.
resize( 2 *
sizeof(
void* ) );
104 CHECK( (
unsigned char*)&tag != tag.
data() );
105 CHECK( !memcmp( tag.
data(),
"ABCDEFGHIJKLMNOPQRST",
sizeof(
void* ) ) );
111 memcpy( tag.
data(),
"12345678901234567890",
sizeof(
void* ) );
112 unsigned char* ptr = tag.
resize(
sizeof(
void* ) );
115 CHECK( !memcmp( tag.
data(),
"12345678901234567890",
sizeof(
void* ) ) );
121 memcpy( tag.
data(),
"TSRQPONMLKJIHGFEDCBA", 2 *
sizeof(
void* ) );
122 unsigned char* ptr = tag.
resize( 4 *
sizeof(
void* ) );
124 CHECK( (
unsigned char*)&tag != tag.
data() );
125 CHECK( !memcmp( tag.
data(),
"TSRQPONMLKJIHGFEDCBA",
sizeof(
void* ) ) );