home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / cslio205.zip / INCLUDE / CSTABA.H < prev    next >
C/C++ Source or Header  |  1997-01-21  |  3KB  |  87 lines

  1. /***********************************************************************
  2.  
  3.                       CSDB Library, Free Evaluation Version 2.0.5 
  4.                                        Release: January 22th 1997 
  5.  
  6.        Extension on an array.
  7.  
  8.                                            Copyright(c) 1994-1997 
  9.                                                           ComBits 
  10.                                                   The Netherlands 
  11. ***********************************************************************/
  12.  
  13. #ifndef __CSTABA_H
  14. #define __CSTABA_H
  15.  
  16. #include "cstable.h"
  17. #include "csarray.h"
  18.  
  19.  
  20. #ifdef __BORLANDC__
  21. #pragma warn -sig
  22. #endif
  23.  
  24. #ifdef _CP_002
  25. #pragma warning(disable : 4051 4135 4018)
  26. #endif
  27.  
  28.  
  29.  
  30. class TABLEa: public TABLE, public ARRAY
  31. {
  32.   public:
  33.  
  34.       void name(csCHAR *s);
  35.       void zap(void)        { ARRAY::zap(); TABLE::zap(); }
  36.       void size(size_t nr)  { ARRAY::size(MAX(nr,256U));   }
  37.       void open(void)       { TABLE::open(); }
  38.       void close(void)      { TABLE::close(); }
  39.       void insert(long key,void *d)
  40.           { if(key<=nr_lin) { ARRAY::insert(key,d); }
  41.             else            { TABLE::insert(key,d); } }
  42.       void insert(long key,void *d,void ** &add)
  43.           { if(key<=nr_lin) { ARRAY::insert(key,d,add); }
  44.             else            { TABLE::insert(key,d,add); } }
  45.       void insert(long key,long d)
  46.           { if(key<=nr_lin) { ARRAY::insert(key,d); }
  47.             else            { TABLE::insert(key,d); } }
  48.       void insert(long key,long d,long * &add)
  49.           { if(key<=nr_lin) { ARRAY::insert(key,d,add); }
  50.             else            { TABLE::insert(key,d,add); } }
  51.       void delet(long key)
  52.           { if(key>nr_lin) TABLE::delet(key);
  53.             else           ARRAY::delet(key); }
  54.       int search(long key,void * &d)
  55.           { if(key<=nr_lin) { ARRAY::search(key,d); return TRUE; }
  56.             else            { return TABLE::search(key,d); } }
  57.       int search(long key,void * &d,void ** &add)
  58.           { if(key<=nr_lin) { ARRAY::search(key,d,add); return TRUE; }
  59.             else            { return TABLE::search(key,d,add); } }
  60.       int search(long key,long &d)
  61.           { if(key<=nr_lin) { ARRAY::search(key,d);  return TRUE; }
  62.             else            { return TABLE::search(key,d); } }
  63.       int search(long key,long &d,long * &add)
  64.           { if(key<=nr_lin) { ARRAY::search(key,d,add); return TRUE; }
  65.             else            { return TABLE::search(key,d,add); } }
  66.       void empty(void)      { ARRAY::empty(); TABLE::empty(); }
  67.       long export(FILE *fp,long nr);
  68.       long import(FILE *fp,long number);
  69.       int  report(csCHAR *name,int sub=10);
  70.       void report(FILE *fipo,int sub=10);
  71.  
  72.  
  73. };
  74.  
  75.  
  76. #ifdef __BORLANDC__
  77. #pragma warn .sig
  78. #endif
  79.  
  80.  
  81. #ifdef _MSC_VER
  82. #pragma warning(default : 4051 4135)
  83. #endif
  84.  
  85.  
  86. #endif
  87.