OpenADFortTk (basic)
src/lib/support/XAIFStrings.h
Go to the documentation of this file.
00001 // ##########################################################
00002 // # This file is part of OpenADFortTk.                     #
00003 // # The full COPYRIGHT notice can be found in the top      #
00004 // # level directory of the OpenADFortTk source tree.       #
00005 // # For more information visit                             #
00006 // # http://www.mcs.anl.gov/openad                          #
00007 // ##########################################################
00008 
00009 #ifndef XAIFStrings_INCLUDED_h
00010 #define XAIFStrings_INCLUDED_h
00011 
00012 #include <iostream>
00013 
00014 #include <xercesc/util/XercesDefs.hpp>
00015 #include <xercesc/util/XMLString.hpp>
00016 
00017 XERCES_CPP_NAMESPACE_USE
00018 
00019 // A class containing strings for XAIF.  
00020 class XAIFStringRepository
00021 {
00022 public: 
00023   enum {
00024     // -----------------------------------------------------
00025 
00026     // Common attributes
00027     ATTR_annot = 0, // annotation
00028     ATTR_Vid,       // vertex_id
00029     ATTR_Eid,       // edge_id
00030     ATTR_scopeId,   // scope_id
00031     ATTR_symId,     // symbol_id
00032 
00033     ATTR_active,    // active
00034     ATTR_deriv,     // deriv
00035 
00036     ATTR_source,    // source
00037     ATTR_target,    // target
00038 
00039     ATTR_lineNumber,// line number
00040     
00041     // -----------------------------------------------------
00042     // top level
00043     ATTR_prefix,    // specific prefix
00044     
00045     // -----------------------------------------------------
00046     // xaif:CallGraph
00047     ELEM_CallGraph,
00048 
00049     // -----------------------------------------------------
00050     // xaif:ScopeHierarchy, xaif:Scope, xaif:SymbolTable
00051     ELEM_ScopeHierarchy,
00052     ELEM_Scope,
00053     ELEM_SymTab,
00054 
00055     // xaif:Symbol
00056     ELEM_Symbol,
00057     ATTR_kind,
00058     ATTR_type,
00059     ATTR_feType,
00060     ATTR_shape,
00061     ATTR_temp,
00062 
00063     // xaif:DimensionBounds
00064     ELEM_DimensionBounds,
00065     ATTR_lower,
00066     ATTR_upper,
00067     
00068     // -----------------------------------------------------
00069     
00070     // xaif:ControlFlowGraph, xaif:ReplacementList, xaif:Replacement
00071     ELEM_CFG,
00072     ELEM_ReplaceList,
00073     
00074     ELEM_ArgList,
00075     ELEM_ArgSymRef,
00076     ATTR_intent,
00077     ATTR_structured,
00078     
00079     ELEM_Replacement,
00080     ATTR_placeholder,
00081     
00082     ELEM_CFGEdge,
00083     ATTR_hasCondval,
00084     ATTR_condval,
00085     
00086     // xaif:BasicBlock
00087     ELEM_BB,
00088     ELEM_BBEntry,
00089     ELEM_BBExit,
00090     ELEM_BBBranch,
00091     ELEM_BBForLoop,
00092     ELEM_BBPreLoop,
00093     ELEM_BBPostLoop,
00094 
00095     ELEM_BBEndBranch,
00096     ELEM_BBEndLoop,
00097     
00098     ELEM_LpInit,
00099     ELEM_Condition,
00100     ELEM_LpUpdate,
00101 
00102     // Statements
00103     ELEM_Assign,
00104     ELEM_SubCall,
00105     ELEM_InlinableSubCall,
00106     ELEM_Marker,
00107 
00108     ELEM_AssignLHS,
00109     ELEM_AssignRHS,
00110 
00111     ELEM_Argument,
00112 
00113     ATTR_subname,
00114     ATTR_formalArgCount,
00115 
00116     // Expressions
00117     ELEM_VarRef,
00118     ELEM_Constant,
00119     ELEM_Intrinsic,
00120     ELEM_FuncCall,
00121     ELEM_BoolOp,
00122 
00123     ELEM_ExprEdge,
00124 
00125     ATTR_name,
00126     ATTR_value,
00127     ATTR_position,
00128     
00129     // Variable Reference Expressions
00130     ELEM_SymRef,
00131     ELEM_ArrayElemRef,
00132     
00133     ELEM_IndexTriplet,
00134     ELEM_Index,
00135     ELEM_Bound,
00136     ELEM_Stride,
00137     
00138     ELEM_VarRefEdge,
00139     
00140     // DerivativePropagator
00141     ELEM_DerivProp,  // block
00142 
00143     ELEM_SetDeriv,   // stmt
00144     ELEM_SetNegDeriv,
00145     ELEM_IncDeriv,
00146     ELEM_DecDeriv,
00147     ELEM_ZeroDeriv,
00148     ELEM_Sax,
00149     ELEM_Saxpy,
00150 
00151     ELEM_Tgt,        // expr
00152     ELEM_Src,
00153     ELEM_AX,
00154     ELEM_A,
00155     ELEM_X,
00156     ELEM_Y,
00157 
00158     // -----------------------------------------------------
00159     
00160     // Special tags
00161     TAG_SymTabId, // Tags a colon-separated list of symbol table (ST_TAB) ids
00162     TAG_SymId,    // Tags a colon-separated list of symbol (ST) ids
00163     
00164     TAG_PUId,     // Tags a colon-separated list of PU ids
00165     TAG_WHIRLId,  // Tags a colon-separated list of WHIRL (WN) ids
00166     
00167     TAG_StmtGoto,   // Tags a goto statement
00168     TAG_StmtLabel,  // Tags a label statement
00169     TAG_StmtReturn, // Tags a return statement
00170     
00171     TAG_IntrinsicKey, // Tags an intrinsic to disambiguate translation
00172     TAG_PregId,       // Tags a SymbolReference to a preg
00173     
00174     TAG_End,      // End of tag information
00175     
00176     // -----------------------------------------------------
00177 
00178     NUM_STRINGS // Not a valid string!
00179   };
00180 
00181 public:
00182   XAIFStringRepository();
00183   ~XAIFStringRepository();
00184   
00185   // -------------------------------------------------------
00186   // Must be called after Xerces is initialized.  All XML strings are
00187   // unavailable until this has been called.
00188   // -------------------------------------------------------
00189   void XMLInitialize();
00190 
00191   // -------------------------------------------------------
00192   // General access to strings
00193   // -------------------------------------------------------
00194   
00195   const char* c(int i) const
00196   {
00197     if (0 <= i && i < NUM_STRINGS) { return c_strTbl[i]; }
00198     else { return NULL; }
00199   }
00200 
00201   XMLCh* xml(int i) const
00202   {
00203     if (0 <= i && i < NUM_STRINGS) { return x_strTbl[i]; }
00204     else { return NULL; }
00205   }
00206 
00207   // -------------------------------------------------------
00208   // Quick access to strings
00209   // -------------------------------------------------------
00210   
00211   // Common attributes
00212   const char* attr_annot() const   { return c_strTbl[ATTR_annot]; }
00213   XMLCh*      attr_annot_x() const { return x_strTbl[ATTR_annot]; }
00214   const char* attr_Vid() const { return c_strTbl[ATTR_Vid]; }
00215   XMLCh*      attr_Vid_x() const { return x_strTbl[ATTR_Vid]; }
00216   const char* attr_Eid() const { return c_strTbl[ATTR_Eid]; }
00217   XMLCh*      attr_Eid_x() const { return x_strTbl[ATTR_Eid]; }
00218   const char* attr_scopeId() const { return c_strTbl[ATTR_scopeId]; }
00219   XMLCh*      attr_scopeId_x() const { return x_strTbl[ATTR_scopeId]; }
00220   const char* attr_symId() const { return c_strTbl[ATTR_symId]; }
00221   XMLCh*      attr_symId_x() const { return x_strTbl[ATTR_symId]; }
00222   
00223   const char* attr_active() const { return c_strTbl[ATTR_active]; }
00224   XMLCh*      attr_active_x() const { return x_strTbl[ATTR_active]; }
00225   const char* attr_deriv() const { return c_strTbl[ATTR_deriv]; }
00226   XMLCh*      attr_deriv_x() const { return x_strTbl[ATTR_deriv]; }
00227 
00228   const char* attr_source() const { return c_strTbl[ATTR_source]; }
00229   XMLCh*      attr_source_x() const { return x_strTbl[ATTR_source]; }
00230   const char* attr_target() const { return c_strTbl[ATTR_target]; }
00231   XMLCh*      attr_target_x() const { return x_strTbl[ATTR_target]; }
00232 
00233   const char* attr_lineNumber() const { return c_strTbl[ATTR_lineNumber]; }
00234   XMLCh*      attr_lineNumber_x() const { return x_strTbl[ATTR_lineNumber]; }
00235   
00236   // -----------------------------------------------------
00237   // top level  
00238   const char* attr_prefix() const   { return c_strTbl[ATTR_prefix]; }
00239   XMLCh*      attr_prefix_x() const { return x_strTbl[ATTR_prefix]; }
00240 
00241   // -----------------------------------------------------
00242   // xaif:CallGraph
00243   const char* elem_CallGraph() const { return c_strTbl[ELEM_CallGraph]; }
00244   XMLCh*      elem_CallGraph_x() const { return x_strTbl[ELEM_CallGraph]; }
00245 
00246   // -----------------------------------------------------
00247   // xaif:ScopeHierarchy, xaif:Scope, xaif:SymbolTable
00248   const char* elem_ScopeHierarchy() const { return c_strTbl[ELEM_ScopeHierarchy]; }
00249   XMLCh*      elem_ScopeHierarchy_x() const { return x_strTbl[ELEM_ScopeHierarchy]; }
00250   const char* elem_Scope() const { return c_strTbl[ELEM_Scope]; }
00251   XMLCh*      elem_Scope_x() const { return x_strTbl[ELEM_Scope]; }
00252   const char* elem_SymTab() const { return c_strTbl[ELEM_SymTab]; }
00253   XMLCh*      elem_SymTab_x() const { return x_strTbl[ELEM_SymTab]; }
00254     
00255   // xaif:Symbol
00256   const char* elem_Symbol() const { return c_strTbl[ELEM_Symbol]; }
00257   XMLCh*      elem_Symbol_x() const { return x_strTbl[ELEM_Symbol]; }
00258   
00259   const char* attr_kind() const { return c_strTbl[ATTR_kind]; }
00260   XMLCh*      attr_kind_x() const { return x_strTbl[ATTR_kind]; }
00261   const char* attr_type() const { return c_strTbl[ATTR_type]; }
00262   XMLCh*      attr_type_x() const { return x_strTbl[ATTR_type]; }
00263   const char* attr_feType() const { return c_strTbl[ATTR_feType]; }
00264   XMLCh*      attr_feType_x() const { return x_strTbl[ATTR_feType]; }
00265   const char* attr_shape() const { return c_strTbl[ATTR_shape]; }
00266   XMLCh*      attr_shape_x() const { return x_strTbl[ATTR_shape]; }
00267   const char* attr_temp() const { return c_strTbl[ATTR_temp]; }
00268   XMLCh*      attr_temp_x() const { return x_strTbl[ATTR_temp]; }
00269 
00270   // xaif:DimensionBounds
00271   const char* elem_DimensionBounds() const { return c_strTbl[ELEM_DimensionBounds]; }
00272   XMLCh*      elem_DimensionBounds_x() const { return x_strTbl[ELEM_DimensionBounds]; }
00273   
00274   const char* attr_lower() const { return c_strTbl[ATTR_lower]; }
00275   XMLCh*      attr_lower_x() const { return x_strTbl[ATTR_lower]; }
00276   const char* attr_upper() const { return c_strTbl[ATTR_upper]; }
00277   XMLCh*      attr_upper_x() const { return x_strTbl[ATTR_upper]; }
00278   
00279   // -----------------------------------------------------
00280   
00281   // xaif:ControlFlowGraph
00282   const char* elem_CFG() const { return c_strTbl[ELEM_CFG]; }
00283   XMLCh*      elem_CFG_x() const { return x_strTbl[ELEM_CFG]; }
00284   const char* elem_ReplaceList() const { return c_strTbl[ELEM_ReplaceList]; }
00285   XMLCh*      elem_ReplaceList_x() const { return x_strTbl[ELEM_ReplaceList]; }
00286 
00287   const char* elem_ArgList() const { return c_strTbl[ELEM_ArgList]; }
00288   XMLCh*      elem_ArgList_x() const { return x_strTbl[ELEM_ArgList]; }
00289   const char* elem_ArgSymRef() const { return c_strTbl[ELEM_ArgSymRef]; }
00290   XMLCh*      elem_ArgSymRef_x() const { return x_strTbl[ELEM_ArgSymRef]; }
00291   const char* attr_intent() const { return c_strTbl[ATTR_intent]; }
00292   XMLCh*      attr_intent_x() const { return x_strTbl[ATTR_intent]; }
00293   const char* attr_structured() const { return c_strTbl[ATTR_structured]; }
00294   XMLCh*      attr_structured_x() const { return x_strTbl[ATTR_structured]; }
00295   
00296   const char* elem_Replacement() const { return c_strTbl[ELEM_Replacement]; }
00297   XMLCh*      elem_Replacement_x() const { return x_strTbl[ELEM_Replacement]; }
00298   const char* attr_placeholder() const { return c_strTbl[ATTR_placeholder]; }
00299   XMLCh*      attr_placeholder_x() const { return x_strTbl[ATTR_placeholder]; }
00300 
00301   const char* elem_CFGEdge() const { return c_strTbl[ELEM_CFGEdge]; }
00302   XMLCh*      elem_CFGEdge_x() const { return x_strTbl[ELEM_CFGEdge]; }
00303   const char* attr_hasCondval() const { return c_strTbl[ATTR_hasCondval]; }
00304   XMLCh*      attr_hasCondval_x() const { return x_strTbl[ATTR_hasCondval]; }
00305   const char* attr_condval() const { return c_strTbl[ATTR_condval]; }
00306   XMLCh*      attr_condval_x() const { return x_strTbl[ATTR_condval]; }
00307 
00308   // xaif:BasicBlock
00309   const char* elem_BB() const { return c_strTbl[ELEM_BB]; }
00310   XMLCh*      elem_BB_x() const { return x_strTbl[ELEM_BB]; }
00311   const char* elem_BBEntry() const { return c_strTbl[ELEM_BBEntry]; }
00312   XMLCh*      elem_BBEntry_x() const { return x_strTbl[ELEM_BBEntry]; }
00313   const char* elem_BBExit() const { return c_strTbl[ELEM_BBExit]; }
00314   XMLCh*      elem_BBExit_x() const { return x_strTbl[ELEM_BBExit]; }
00315   const char* elem_BBBranch() const { return c_strTbl[ELEM_BBBranch]; }
00316   XMLCh*      elem_BBBranch_x() const { return x_strTbl[ELEM_BBBranch]; }
00317   const char* elem_BBForLoop() const { return c_strTbl[ELEM_BBForLoop]; }
00318   XMLCh*      elem_BBForLoop_x() const { return x_strTbl[ELEM_BBForLoop]; }
00319   const char* elem_BBPreLoop() const { return c_strTbl[ELEM_BBPreLoop]; }
00320   XMLCh*      elem_BBPreLoop_x() const { return x_strTbl[ELEM_BBPreLoop]; }
00321   const char* elem_BBPostLoop() const { return c_strTbl[ELEM_BBPostLoop]; }
00322   XMLCh*      elem_BBPostLoop_x() const { return x_strTbl[ELEM_BBPostLoop]; }
00323   
00324   const char* elem_BBEndBranch() const { return c_strTbl[ELEM_BBEndBranch]; }
00325   XMLCh*      elem_BBEndBranch_x() const { return x_strTbl[ELEM_BBEndBranch]; }
00326   const char* elem_BBEndLoop() const { return c_strTbl[ELEM_BBEndLoop]; }
00327   XMLCh*      elem_BBEndLoop_x() const { return x_strTbl[ELEM_BBEndLoop]; }
00328 
00329   const char* elem_LpInit() const { return c_strTbl[ELEM_LpInit]; }
00330   XMLCh*      elem_LpInit_x() const { return x_strTbl[ELEM_LpInit]; }
00331   const char* elem_Condition() const { return c_strTbl[ELEM_Condition]; }
00332   XMLCh*      elem_Condition_x() const { return x_strTbl[ELEM_Condition]; }
00333   const char* elem_LpUpdate() const { return c_strTbl[ELEM_LpUpdate]; }
00334   XMLCh*      elem_LpUpdate_x() const { return x_strTbl[ELEM_LpUpdate]; }
00335 
00336   // Statements
00337   const char* elem_Assign() const { return c_strTbl[ELEM_Assign]; }
00338   XMLCh*      elem_Assign_x() const { return x_strTbl[ELEM_Assign]; }
00339   const char* elem_SubCall() const { return c_strTbl[ELEM_SubCall]; }
00340   XMLCh*      elem_SubCall_x() const { return x_strTbl[ELEM_SubCall]; }
00341   const char* elem_InlinableSubCall() const { return c_strTbl[ELEM_InlinableSubCall]; }
00342   XMLCh*      elem_InlinableSubCall_x() const { return x_strTbl[ELEM_InlinableSubCall]; }
00343   const char* elem_Marker() const { return c_strTbl[ELEM_Marker]; }
00344   XMLCh*      elem_Marker_x() const { return x_strTbl[ELEM_Marker]; }
00345 
00346   const char* elem_AssignLHS() const { return c_strTbl[ELEM_AssignLHS]; }
00347   XMLCh*      elem_AssignLHS_x() const { return x_strTbl[ELEM_AssignLHS]; }
00348   const char* elem_AssignRHS() const { return c_strTbl[ELEM_AssignRHS]; }
00349   XMLCh*      elem_AssignRHS_x() const { return x_strTbl[ELEM_AssignRHS]; }
00350 
00351   const char* elem_Argument() const { return c_strTbl[ELEM_Argument]; }
00352   XMLCh*      elem_Argument_x() const { return x_strTbl[ELEM_Argument]; }
00353 
00354   const char* attr_subname() const { return c_strTbl[ATTR_subname]; }
00355   XMLCh*      attr_subname_x() const { return x_strTbl[ATTR_subname]; }
00356   
00357   const char* attr_formalArgCount() const { return c_strTbl[ATTR_formalArgCount]; }
00358   XMLCh*      attr_formalArgCount_x() const { return x_strTbl[ATTR_formalArgCount]; }
00359 
00360   // Expressions
00361   const char* elem_VarRef() const { return c_strTbl[ELEM_VarRef]; }
00362   XMLCh*      elem_VarRef_x() const { return x_strTbl[ELEM_VarRef]; }
00363   const char* elem_Constant() const { return c_strTbl[ELEM_Constant]; }
00364   XMLCh*      elem_Constant_x() const { return x_strTbl[ELEM_Constant]; }
00365   const char* elem_Intrinsic() const { return c_strTbl[ELEM_Intrinsic]; }
00366   XMLCh*      elem_Intrinsic_x() const { return x_strTbl[ELEM_Intrinsic]; }
00367   const char* elem_FuncCall() const { return c_strTbl[ELEM_FuncCall]; }
00368   XMLCh*      elem_FuncCall_x() const { return x_strTbl[ELEM_FuncCall]; }
00369   const char* elem_BoolOp() const { return c_strTbl[ELEM_BoolOp]; }
00370   XMLCh*      elem_BoolOp_x() const { return x_strTbl[ELEM_BoolOp]; }
00371   
00372   const char* elem_ExprEdge() const { return c_strTbl[ELEM_ExprEdge]; }
00373   XMLCh*      elem_ExprEdge_x() const { return x_strTbl[ELEM_ExprEdge]; }
00374 
00375   const char* attr_name() const { return c_strTbl[ATTR_name]; }
00376   XMLCh*      attr_name_x() const { return x_strTbl[ATTR_name]; }
00377   const char* attr_value() const { return c_strTbl[ATTR_value]; }
00378   XMLCh*      attr_value_x() const { return x_strTbl[ATTR_value]; }
00379   const char* attr_position() const { return c_strTbl[ATTR_position]; }
00380   XMLCh*      attr_position_x() const { return x_strTbl[ATTR_position]; }
00381 
00382   // Variable Reference Expressions
00383   const char* elem_SymRef() const { return c_strTbl[ELEM_SymRef]; }
00384   XMLCh*      elem_SymRef_x() const { return x_strTbl[ELEM_SymRef]; }
00385   const char* elem_ArrayElemRef() const { return c_strTbl[ELEM_ArrayElemRef]; }
00386   XMLCh*      elem_ArrayElemRef_x() const { return x_strTbl[ELEM_ArrayElemRef]; }
00387   
00388   const char* elem_IndexTriplet() const { return c_strTbl[ELEM_IndexTriplet]; }
00389   XMLCh*      elem_IndexTriplet_x() const { return x_strTbl[ELEM_IndexTriplet]; }
00390   const char* elem_Index() const { return c_strTbl[ELEM_Index]; }
00391   XMLCh*      elem_Index_x() const { return x_strTbl[ELEM_Index]; }
00392   const char* elem_Bound() const { return c_strTbl[ELEM_Bound]; }
00393   XMLCh*      elem_Bound_x() const { return x_strTbl[ELEM_Bound]; }
00394   const char* elem_Stride() const { return c_strTbl[ELEM_Stride]; }
00395   XMLCh*      elem_Stride_x() const { return x_strTbl[ELEM_Stride]; }
00396   
00397   const char* elem_VarRefEdge() const { return c_strTbl[ELEM_VarRefEdge]; }
00398   XMLCh*      elem_VarRefEdge_x() const { return x_strTbl[ELEM_VarRefEdge]; }
00399   
00400   // DerivativePropagator
00401   XMLCh*      elem_DerivProp_x() const { return x_strTbl[ELEM_DerivProp]; }
00402   
00403   XMLCh*      elem_SetDeriv_x() const { return x_strTbl[ELEM_SetDeriv]; }
00404   XMLCh*      elem_SetNegDeriv_x() const { return x_strTbl[ELEM_SetNegDeriv]; }
00405   XMLCh*      elem_IncDeriv_x() const { return x_strTbl[ELEM_IncDeriv]; }
00406   XMLCh*      elem_DecDeriv_x() const { return x_strTbl[ELEM_DecDeriv]; }
00407   XMLCh*      elem_ZeroDeriv_x() const { return x_strTbl[ELEM_ZeroDeriv]; }
00408   XMLCh*      elem_Sax_x() const { return x_strTbl[ELEM_Sax]; }
00409   XMLCh*      elem_Saxpy_x() const { return x_strTbl[ELEM_Saxpy]; }
00410 
00411   XMLCh*      elem_Tgt_x() const { return x_strTbl[ELEM_Tgt]; }
00412   XMLCh*      elem_Src_x() const { return x_strTbl[ELEM_Src]; }
00413   XMLCh*      elem_AX_x() const { return x_strTbl[ELEM_AX]; }
00414   XMLCh*      elem_A_x() const { return x_strTbl[ELEM_A]; }
00415   XMLCh*      elem_X_x() const { return x_strTbl[ELEM_X]; }
00416   XMLCh*      elem_Y_x() const { return x_strTbl[ELEM_Y]; }
00417   
00418   // -----------------------------------------------------
00419   
00420   // Special tags
00421   const char* tag_SymTabId() const   { return c_strTbl[TAG_SymTabId]; }
00422   XMLCh*      tag_SymTabId_x() const { return x_strTbl[TAG_SymTabId]; }
00423   
00424   const char* tag_SymId() const   { return c_strTbl[TAG_SymId]; }
00425   XMLCh*      tag_SymId_x() const { return x_strTbl[TAG_SymId]; }
00426   
00427   const char* tag_PUId() const   { return c_strTbl[TAG_PUId]; }
00428   XMLCh*      tag_PUId_x() const { return x_strTbl[TAG_PUId]; }
00429   
00430   const char* tag_WHIRLId() const   { return c_strTbl[TAG_WHIRLId]; }
00431   XMLCh*      tag_WHIRLId_x() const { return x_strTbl[TAG_WHIRLId]; }
00432   
00433   const char* tag_StmtGoto() const   { return c_strTbl[TAG_StmtGoto]; }
00434   XMLCh*      tag_StmtGoto_x() const { return x_strTbl[TAG_StmtGoto]; }
00435   
00436   const char* tag_StmtLabel() const   { return c_strTbl[TAG_StmtLabel]; }
00437   XMLCh*      tag_StmtLabel_x() const { return x_strTbl[TAG_StmtLabel]; }
00438   
00439   const char* tag_StmtReturn() const   { return c_strTbl[TAG_StmtReturn]; }
00440   XMLCh*      tag_StmtReturn_x() const { return x_strTbl[TAG_StmtReturn]; }
00441   
00442   const char* tag_IntrinsicKey() const   { return c_strTbl[TAG_IntrinsicKey]; }
00443   XMLCh*      tag_IntrinsicKey_x() const { return x_strTbl[TAG_IntrinsicKey]; }
00444 
00445   const char* tag_PregId() const   { return c_strTbl[TAG_PregId]; }
00446   XMLCh*      tag_PregId_x() const { return x_strTbl[TAG_PregId]; }
00447   
00448   const char* tag_End() const { return c_strTbl[TAG_End]; }
00449   XMLCh*      tag_End_x() const { return x_strTbl[TAG_End]; }
00450   
00451 private:
00452   static const char* c_strTbl[];
00453   XMLCh** x_strTbl;
00454 };
00455 
00456 // A global instance providing everyone access to the above info
00457 extern XAIFStringRepository XAIFStrings;
00458 
00459 #endif // XAIFStrings_INCLUDED_h
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines