UNIVERS  15.3
UNIVERS base processing software API
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
pep_types.H
Go to the documentation of this file.
1 /* pep_types.H */
2 /* $Id: pep_types.H,v 1.6 2006/10/09 12:56:02 vlad Exp $ */
3 #ifndef __pep_types_H
4 #define __pep_types_H
5 
6 #include <mix/Exceptions.h>
7 #include <ldb/dbnamedefs.h>
8 #include <csi/param.H>
9 
10 
23 #define STANDARD_VIRTUAL_METHODS \
24  virtual size_t size (MemBlock* mb) const;\
25  virtual const char* base_type () const;\
26  virtual Logic eq (MemBlock* mb1, MemBlock* mb2);\
27  virtual void text_input (MemBlock* mb, FILE* stream);\
28  virtual void text_output (MemBlock* mb, FILE* stream);\
29  virtual void init (MemBlock* mb);\
30  virtual void set_value (MemBlock* mb, va_list val);\
31  virtual void get_value (MemBlock* mb, va_list val);
32 
33 
48 class ParType_void : public ParType
49 {
50 public:
51 
52  STANDARD_VIRTUAL_METHODS
53 
54 };
55 
56 
75 class ParType_int : public ParType
76 {
77 private:
78 
79  struct MemMap_int
80  {
81  int v;
82  };
83 
85  MemMap_int& repres (MemBlock* mb) const;
86 
87 public:
88 
89  STANDARD_VIRTUAL_METHODS
90 
91 };
92 
93 
114 class ParType_int2 : public ParType
115 {
116 private:
117 
118  struct MemMap_int2
119  {
120  int v1;
121  int v2;
122  };
123 
125  MemMap_int2& repres (MemBlock* mb) const;
126 
127 public:
128 
129  STANDARD_VIRTUAL_METHODS
130 
131 };
132 
133 
152 class ParType_float : public ParType
153 {
154 private:
155 
156  struct MemMap_float
157  {
158  float v;
159  };
160 
162  MemMap_float& repres (MemBlock* mb) const;
163 
164 public:
165 
166  STANDARD_VIRTUAL_METHODS
167 
168 };
169 
170 
191 class ParType_float2 : public ParType
192 {
193 private:
194 
195  struct MemMap_float2
196  {
197  float v1;
198  float v2;
199  };
200 
202  MemMap_float2& repres (MemBlock* mb) const;
203 
204 public:
205 
206  STANDARD_VIRTUAL_METHODS
207 
208 };
209 
210 
229 class ParType_dbname : public ParType
230 {
231 private:
232 
233  struct MemMap_dbname
234  {
235  dbNameStruct v;
236  };
237 
239  MemMap_dbname& repres (MemBlock* mb) const;
240 
241 public:
242 
243  STANDARD_VIRTUAL_METHODS
244 
245 };
246 
247 
267 class ParType_dbitem : public ParType
268 {
269 private:
270 
271  struct MemMap_dbitem
272  {
273  dbItem v;
274  };
275 
277  MemMap_dbitem& repres (MemBlock* mb) const;
278 
279 public:
280 
281  STANDARD_VIRTUAL_METHODS
282 
283 };
284 
285 
304 class ParType_nmod : public ParType
305 {
306 private:
307 
308  struct MemMap_nmod
309  {
310  char v[5];
311  };
312 
314  MemMap_nmod& repres (MemBlock* mb) const;
315 
316 public:
317 
318  STANDARD_VIRTUAL_METHODS
319 
320 };
321 
322 
345 {
346 private:
347 
348  struct MemMap_float_ar1
349  {
350  int n;
351  float list[1]; /* dirty trick ... I know */
352  };
353 
355  MemMap_float_ar1& repres (MemBlock* mb) const;
356 
357 public:
358 
359  STANDARD_VIRTUAL_METHODS
360 
361 };
362 
363 
385 class ParType_int_ar1 : public ParType
386 {
387 private:
388 
389  struct MemMap_int_ar1
390  {
391  int n;
392  int list[1]; /* dirty trick ... I know */
393  };
394 
396  MemMap_int_ar1& repres (MemBlock* mb) const;
397 
398 public:
399 
400  STANDARD_VIRTUAL_METHODS
401 
402 };
403 
404 
423 class ParType_string : public ParType
424 {
425 private:
426 
427  struct MemMap_string
428  {
429  char v[PEP_STRING_LEN+1];
430  };
431 
433  MemMap_string& repres (MemBlock* mb) const;
434 
435 public:
436 
437  STANDARD_VIRTUAL_METHODS
438 
439 };
440 
441 
460 class ParType_double : public ParType
461 {
462 private:
463 
464  struct MemMap_double
465  {
466  double v;
467  };
468 
470  MemMap_double& repres (MemBlock* mb) const;
471 
472 public:
473 
474  STANDARD_VIRTUAL_METHODS
475 
476 };
477 
478 
499 class ParType_double2 : public ParType
500 {
501 private:
502 
503  struct MemMap_double2
504  {
505  double v1;
506  double v2;
507  };
508 
510  MemMap_double2& repres (MemBlock* mb) const;
511 
512 public:
513 
514  STANDARD_VIRTUAL_METHODS
515 
516 };
517 
518 
541 {
542 private:
543 
544  struct MemMap_double_ar1
545  {
546  int n;
547  double list[1]; /* dirty trick ... I know */
548  };
549 
551  MemMap_double_ar1& repres (MemBlock* mb) const;
552 
553 public:
554 
555  STANDARD_VIRTUAL_METHODS
556 
557 };
558 
559 
560 #endif /* pep_types.H */
Definition: pep_types.H:48
Definition: dbnamedefs.h:67
Definition: pep_types.H:344
Definition: pep_types.H:423
Definition: pep_types.H:191
Definition: pep_types.H:460
Definition: pep_types.H:304
Definition: pep_types.H:267
Definition: pep_types.H:114
Definition: memctl.H:27
Definition: param.H:17
Definition: pep_types.H:540
Definition: pep_types.H:152
Definition: pep_types.H:385
Definition: pep_types.H:75
Definition: pep_types.H:229
Definition: pep_types.H:499
Definition: dbnamedefs.h:85