00001
#ifndef _VARIANT_H_
00002
#define _VARIANT_H_
00003
00004
00005
00006
00007
00008
00009
union VariantPointer
00010 {
00011
double* pDouble;
00012
Segment* pSegment;
00013
Peak2i* pPeak;
00014
FPeak2i* pFPeak;
00015
PeakGroup* pPeakgroup;
00016 };
00017
00018
typedef union VariantPointer VariantPointer;
00019
00020
struct VariantArray
00021 {
00022
unsigned isPointer : 1;
00023 VariantPointer array_value;
00024
int array_size;
00025
int array_type;
00026 };
00027
00028
typedef struct VariantArray VariantArray;
00029
00030
00031
union Variant
00032 {
00033
00034
int value_i;
00035
float value_f;
00036
char* value_s;
00037
double value_d;
00038
00039
struct Map2D value_m;
00040
00041
struct Segment value_a;
00042
Peak2i value_p;
00043
FPeak2i value_k;
00044
struct PeakGroup value_g;
00045
00046
struct VariantArray value_r;
00047
struct SegmentHandler value_h;
00048 };
00049
00050
typedef union Variant Variant;
00051
00052
00053
00054
#endif
00055