![]() |
VR-Link API Documentation for HLA Evolved
|
00001 /********************************************************************* 00002 ** Copyright (c) 1992-2010 VT MAK 00003 ** All rights reserved. 00004 *********************************************************************/ 00005 00006 #ifndef mtlenv_H 00007 #define mtlenv_H 00008 00012 00013 #ifdef DtUSE_UTILITIES_NAMESPACE 00014 namespace DtUSE_UTILITIES_NAMESPACE 00015 { 00016 #endif 00017 00018 class DT_DLL_MTL symbol_entry 00019 { 00020 public: 00021 symbol_entry(const DtlObjPtr& sym, const DtlObjPtr& bind); 00022 ~symbol_entry(); 00023 DtlObjPtr symbol; 00024 DtlObjPtr binding; 00025 symbol_entry *next; 00026 }; 00027 00030 class DT_DLL_MTL DtlHashTable 00031 { 00032 public: 00033 DtlHashTable(void); 00034 ~DtlHashTable(); 00035 DtlObjPtr lookup(char *name); 00036 DtlObjPtr findsym(char *name); 00037 DtlObjPtr insert(const DtlObjPtr& sym, const DtlObjPtr& bind, const DtlObjPtr& env); 00038 DtlObjPtr rebind(const DtlObjPtr& sym, const DtlObjPtr& bind, const DtlObjPtr& env); 00039 DtlObjPtr bindings(); 00040 void dump(void); 00041 00042 #define DtMTL_MASK 0xff 00043 symbol_entry *bucket[DtMTL_MASK + 1]; 00044 }; 00045 00046 #ifdef DtUSE_UTILITIES_NAMESPACE 00047 } 00048 #endif 00049 00050 #endif 00051