TaggedData
List of: Classes
Subjects: SAT Save and Restore
Contents: Kernel

Purpose: Tracks data and its type for saving and restoring unknown ENTITY types.

Derivation: TaggedData : ACIS_OBJECT : -

Filename: kern/kernel/kernutil/fileio/tagdata.hxx

Description: This class reads in data from unknown ENTITY types. It stores the data and its type so that it can be written back out in binary mode.

Data: public DataType m_dataType;

The type of data.


public enum DataType;

The values of the items in this enumeration are written to a binary save file to identify the type of data items in an unknown ENTITY. Because these values are used when restoring unknown ENTITY data, they are given explicitly and must not be changed.


public m_data;

Data type tags:

no_type
0

byte_type
1

char_type
2

short_type 3

long_type
4

float_type
5

double_type 6

short_char_string 7

char_string 8

long_char_string 9

logical_true 10

logical_false 11

pointer_type 12

level_1_id
13

level_2_id
14

subtype_start 15

subtype_end 16

terminator
17

literal_char_string 18

position_type 19

vector_type 20


public union;

A union with the following data types:

unsigned char uc

char

c

short

s

long

l

float

f

double
d

char*
pc

void*

pv

SPAposition*
pos

SPAvector*
vec

Constructor: public: TaggedData::TaggedData (


char // single character


);


C++ constructor, creating a TaggedData using a single character.






public: TaggedData::TaggedData (


char* // string


);


C++ constructor, creating a TaggedData using a string.






public: TaggedData::TaggedData (


const SPAposition& // position


);


C++ constructor, creating a TaggedData using a position.






public: TaggedData::TaggedData (


const TaggedData& // TaggedData


);


C++ copy constructor requests memory for this object and populates it with the data from the object supplied as an argument.






public: TaggedData::TaggedData (


const SPAvector& // vector


);


C++ constructor, creating a TaggedData using a vector.






public: TaggedData::TaggedData (


DataType, // data type


void* p // pointer to data



= 0


);


C++ constructor, creating a TaggedData using the specified parameters.






public: TaggedData::TaggedData (


double // double value


);


C++ constructor, creating a TaggedData using a real value.






public: TaggedData::TaggedData (


float // float value


);


C++ constructor, creating a TaggedData using a floating value.






public: TaggedData::TaggedData (


int
// integer value


);


C++ constructor, creating a TaggedData using an integer value.






public: TaggedData::TaggedData (


long // long value


);


C++ constructor, creating a TaggedData using a long value.






public: TaggedData::TaggedData (


short // short value


);


C++ constructor, creating a TaggedData using a short value.






public: TaggedData::TaggedData (


unsigned char // unsigned character


);


C++ constructor, creating a TaggedData using an unsigned character value.




Destructor: public: TaggedData::~TaggedData ();


C++ destructor, deleting a TaggedData. The character strings are deleted when TaggedData is deleted. For this reason, all character strings that are given to it must be allocated on the heap.



Methods: public: void TaggedData::debug_value (


FILE* // file name


) const;


Writes debug information about the TaggedData to standard output or to the specified file.






public: const char* TaggedData::type_name () const;


Returns the string data type, i.e., "char_type", "no_type".
PDF/KERN/38CLT.PDF
HTM/DATA/KERN/KERN/38CLT/0001.HTM