Arr_TgRecipe.h
上传用户:blenddy
上传日期:2007-01-07
资源大小:6495k
文件大小:3k
源码类别:

数据库系统

开发平台:

Unix_Linux

  1. #include "tioga/Varray.h"
  2. /* Modify the following size macros to suit your need. */
  3. #ifndef Arr_TgString_INITIAL_SIZE
  4. #define Arr_TgString_INITIAL_SIZE 32
  5. #endif
  6. #ifndef Arr_TgElementPtr_INITIAL_SIZE
  7. #define Arr_TgElementPtr_INITIAL_SIZE 32
  8. #endif
  9. #ifndef Arr_TgNodePtr_INITIAL_SIZE
  10. #define Arr_TgNodePtr_INITIAL_SIZE 32
  11. #endif
  12. /***************************************************************/
  13. /*   Do not modify anything below this line.    */
  14. /***************************************************************/
  15. /* -- Defining types and function for Arr_TgString type -- */
  16. /* -- the following must be supplied by the user:
  17.    void copyTgString(TgString* from, TgString* to); - make a copy of TgString.
  18. */
  19. #ifndef _ARR_TgString_
  20. #define _ARR_TgString_
  21. #ifndef ARR_TgString_INITIAL_SIZE
  22. #define ARR_TgString_INITIAL_SIZE 32 /* change this size to suit your
  23.  * need */
  24. #endif  /* ARR_TgString_INITIAL_SIZE */
  25. typedef struct Arr_TgString
  26. {
  27. size_t num;
  28. size_t size;
  29. size_t valSize;
  30. TgString   *val;
  31. } Arr_TgString;
  32. #define newArr_TgString() 
  33.   (Arr_TgString *) NewVarray(ARR_TgString_INITIAL_SIZE, sizeof(TgString))
  34. #define enlargeArr_TgString(A, I) 
  35.   (A)->size += (I), 
  36.   (A)->val = (TgString *) realloc((A)->val, (A)->valSize * (A)->size) 
  37. )
  38. #define addArr_TgString(A, V) 
  39.   AppendVarray((Varray *) (A), (void *) (V), (CopyingFunct) copyTgString)
  40. #define deleteArr_TgString(A) FreeVarray(A)
  41. #endif  /* _ARR_TgString_ */
  42. /* -- Defining types and function for Arr_TgElementPtr type -- */
  43. /* -- the following must be supplied by the user:
  44.    void copyTgElementPtr(TgElementPtr* from, TgElementPtr* to); - make a copy of TgElementPtr.
  45. */
  46. #ifndef _ARR_TgElementPtr_
  47. #define _ARR_TgElementPtr_
  48. #ifndef ARR_TgElementPtr_INITIAL_SIZE
  49. #define ARR_TgElementPtr_INITIAL_SIZE 32 /* change this size to
  50.  * suit your need */
  51. #endif  /* ARR_TgElementPtr_INITIAL_SIZE */
  52. typedef struct Arr_TgElementPtr
  53. {
  54. size_t num;
  55. size_t size;
  56. size_t valSize;
  57. TgElementPtr *val;
  58. } Arr_TgElementPtr;
  59. #define newArr_TgElementPtr() 
  60.   (Arr_TgElementPtr *) NewVarray(ARR_TgElementPtr_INITIAL_SIZE, sizeof(TgElementPtr))
  61. #define enlargeArr_TgElementPtr(A, I) 
  62.   (A)->size += (I), 
  63.   (A)->val = (TgElementPtr *) realloc((A)->val, (A)->valSize * (A)->size) 
  64. )
  65. #define addArr_TgElementPtr(A, V) 
  66.   AppendVarray((Varray *) (A), (void *) (V), (CopyingFunct) copyTgElementPtr)
  67. #define deleteArr_TgElementPtr(A) FreeVarray(A)
  68. #endif  /* _ARR_TgElementPtr_ */
  69. /* -- Defining types and function for Arr_TgNodePtr type -- */
  70. /* -- the following must be supplied by the user:
  71.    void copyTgNodePtr(TgNodePtr* from, TgNodePtr* to); - make a copy of TgNodePtr.
  72. */
  73. #ifndef _ARR_TgNodePtr_
  74. #define _ARR_TgNodePtr_
  75. #ifndef ARR_TgNodePtr_INITIAL_SIZE
  76. #define ARR_TgNodePtr_INITIAL_SIZE 32 /* change this size to suit your
  77.  * need */
  78. #endif  /* ARR_TgNodePtr_INITIAL_SIZE */
  79. typedef struct Arr_TgNodePtr
  80. {
  81. size_t num;
  82. size_t size;
  83. size_t valSize;
  84. TgNodePtr  *val;
  85. } Arr_TgNodePtr;
  86. #define newArr_TgNodePtr() 
  87.   (Arr_TgNodePtr *) NewVarray(ARR_TgNodePtr_INITIAL_SIZE, sizeof(TgNodePtr))
  88. #define enlargeArr_TgNodePtr(A, I) 
  89.   (A)->size += (I), 
  90.   (A)->val = (TgNodePtr *) realloc((A)->val, (A)->valSize * (A)->size) 
  91. )
  92. #define addArr_TgNodePtr(A, V) 
  93.   AppendVarray((Varray *) (A), (void *) (V), (CopyingFunct) copyTgNodePtr)
  94. #define deleteArr_TgNodePtr(A) FreeVarray(A)
  95. #endif  /* _ARR_TgNodePtr_ */