UNIVERS  15.3
UNIVERS base processing software API
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
DataAtom.h
1 /* DataAtom.h */
2 /* $Id: DataAtom.h,v 1.2 2004/04/22 07:49:54 vlad Exp $ */
3 #ifndef __DataAtom_h
4 #define __DataAtom_h
5 
6 #include <mix/Types.h>
7 
8 
14 typedef struct
15 {
16  AtomType atype;
17  unsigned dim;
18  union {
19  Real4 r4;
20  Real8 r8;
21  Int1 i1;
22  Int2 i2;
23  Int4 i4;
24 #ifdef CompilerIs64bitReady
25  Int8 i8;
26  Int8 key;
27 #endif /* CompilerIs64bitReady */
28  Char c1;
29  Char2 c2;
30  BlobRef blob;
32  Real4 *ptr_r4;
33  Real8 *ptr_r8;
34  Int1 *ptr_i1;
35  Int2 *ptr_i2;
36  Int4 *ptr_i4;
37 #ifdef CompilerIs64bitReady
38  Int8 *ptr_i8;
39 #endif /* CompilerIs64bitReady */
40  Char *ptr_c1;
41  Char2 *ptr_c2;
42  BlobRef *ptr_blob;
44  void *ptr;
45  } v;
47 } DataAtom;
48 
49 #ifdef __cplusplus
50 extern "C" {
51 #endif /* C++ */
52 
57  const char* DataAtomFromString (const char* buf, DataAtom* da);
58 
63  const char* DataAtomExploreString (const char* str,
64  AtomType* p_atype,
65  unsigned* p_dim);
66 
69  void DataAtomToString (char* buf, const DataAtom* da);
70 
73  int DataAtomStringLen (const DataAtom* da);
74 
75 
76 #ifdef __cplusplus
77 };
78 #endif /* C++ */
79 
80 #endif /* DataAtom.h */
AtomType atype
Definition: DataAtom.h:16
Char2 c2
Definition: DataAtom.h:29
Int1 * ptr_i1
Definition: DataAtom.h:34
Char2 * ptr_c2
Definition: DataAtom.h:41
BlobRef blob
Definition: DataAtom.h:30
Int1 i1
Definition: DataAtom.h:21
void * ptr
Definition: DataAtom.h:44
Real4 r4
Definition: DataAtom.h:19
Char * ptr_c1
Definition: DataAtom.h:40
Definition: DataAtom.h:14
Char c1
Definition: DataAtom.h:28
Real4 * ptr_r4
Definition: DataAtom.h:32
unsigned dim
Definition: DataAtom.h:17
BlobRef * ptr_blob
Definition: DataAtom.h:42