hp2FEM  0.1
include/ds/BuiltInTable.h
00001 #ifndef _BUILTINTABLE_H_
00002 #define _BUILTINTABLE_H_
00003 //==============================================================
00004 // File        : BuiltInTable.h
00005 // Generated   : 22 Fev 2011 18:08
00006 //        by   : Gilberto Luis
00007 // Company     : UNICAMP
00008 //--------------------------------------------------------------
00009 // !! Note: This file was generated by Metamill 5.0.
00010 // !!       Make changes only inside user blocks.
00011 // !!       Full code markers generated.
00012 //==============================================================
00013 
00014 //#UBLK-BEG-HEADERH
00015 //==============================================================
00016 // Description : 
00017 //--------------------------------------------------------------
00018 // Author      : Gilberto Luis
00019 // Created     : 22 Fev 2011
00020 //--------------------------------------------------------------
00021 // Change history : 
00022 //   22 Fev 2011 (Gilberto Luis) Initial version generated
00023 //
00024 //==============================================================
00025 //#UBLK-END-HEADERH
00026 
00027 
00028 template <class Type1, 
00029  class Type2>
00030 class BuiltInTable
00031 {
00032 //#UBLK-BEG-CLASSDEF mm:2799887c-3ec4-11e0-8408-f25596bc45f2
00033 //#UBLK-END-CLASSDEF
00034 
00035  public:
00036 
00040    // METHOD=mm:249e9caf-3ec4-11e0-8408-f25596bc45f2
00041    BuiltInTable();
00042 
00046    // METHOD=mm:249e9cb0-3ec4-11e0-8408-f25596bc45f2
00047    BuiltInTable(long ArraySize, Type* Elements = 0);
00048 
00052    // METHOD=mm:249e9cb1-3ec4-11e0-8408-f25596bc45f2
00053    BuiltInTable(BuiltInTable<Type>& Instance);
00054 
00058    // METHOD=mm:249e9cb6-3ec4-11e0-8408-f25596bc45f2
00059    ~BuiltInTable();
00060 
00065    // METHOD=mm:249e9cb7-3ec4-11e0-8408-f25596bc45f2
00066    BuiltInTable<Type>& operator=(BuiltInTable<Type>& Instance);
00067 
00071    // METHOD=mm:249e9cb9-3ec4-11e0-8408-f25596bc45f2
00072    operator Type * const();
00073 
00077    // METHOD=mm:249e9cba-3ec4-11e0-8408-f25596bc45f2
00078    long GetSize();
00079 
00083    // METHOD=mm:249e9cbb-3ec4-11e0-8408-f25596bc45f2
00084    void SetSize(long BuiltInTableSize = 0);
00085 
00089    // METHOD=mm:249e9cc0-3ec4-11e0-8408-f25596bc45f2
00090    void Resize(long NewSize);
00091 
00095    // METHOD=mm:249e9cc1-3ec4-11e0-8408-f25596bc45f2
00096    void Print(FILE* File, char* Message = "");
00097 
00101    // METHOD=mm:249e9cc2-3ec4-11e0-8408-f25596bc45f2
00102    void Save(FILE* File);
00103 
00107    // METHOD=mm:249e9cc3-3ec4-11e0-8408-f25596bc45f2
00108    void Save(char* TabName, int Version, char* Filename);
00109 
00113    // METHOD=mm:249e9cc4-3ec4-11e0-8408-f25596bc45f2
00114    void Restore(FILE* File);
00115 
00119    // METHOD=mm:249e9cc5-3ec4-11e0-8408-f25596bc45f2
00120    void Restore(char* TabName, int Version, char* Filename);
00121 
00125    // METHOD=mm:249e9cca-3ec4-11e0-8408-f25596bc45f2
00126    void Free();
00127 
00128 
00129  protected:
00130 
00131  private:
00132 
00136    // METHOD=mm:249e9ccb-3ec4-11e0-8408-f25596bc45f2
00137    void Alloc(long ArraySize = 0, Type* PArray = 0);
00138 
00139 
00140    // attr=mm:89f3a60f-3ec6-11e0-8408-f25596bc45f2
00141    Array<Type1> DataArray;
00142    // attr=mm:8eb850e1-3ec6-11e0-8408-f25596bc45f2
00143    Array<Type2> IndecesArray;
00144    // attr=mm:e191f489-3ec6-11e0-8408-f25596bc45f2
00145    unsigned long SizeData;
00146    // attr=mm:f373b403-3ec6-11e0-8408-f25596bc45f2
00147    unsigned long SizeIndices;
00148 
00149 
00150 //#UBLK-BEG-CLASSMEMB mm:2799887c-3ec4-11e0-8408-f25596bc45f2
00151 //#UBLK-END-CLASSMEMB
00152 };
00153 
00154 
00155 
00156 // template implementation
00157 #include "BuiltInTable.cpp"
00158 
00159 
00160 //#UBLK-BEG-GLOBALH
00161 //#UBLK-END-GLOBALH
00162 
00163 #endif // _BUILTINTABLE_H_
00164 
 All Classes Files Functions Variables Typedefs Friends Defines