peiyongz    2004/10/13 12:23:34

  Modified:    c/src/xercesc/framework/psvi XSValue.hpp XSValue.cpp
  Log:
  using ValueHashTableOf to reduce footprint
  
  Revision  Changes    Path
  1.13      +8 -3      xml-xerces/c/src/xercesc/framework/psvi/XSValue.hpp
  
  Index: XSValue.hpp
  ===================================================================
  RCS file: /home/cvs/xml-xerces/c/src/xercesc/framework/psvi/XSValue.hpp,v
  retrieving revision 1.12
  retrieving revision 1.13
  diff -u -r1.12 -r1.13
  --- XSValue.hpp       23 Sep 2004 21:22:47 -0000      1.12
  +++ XSValue.hpp       13 Oct 2004 19:23:34 -0000      1.13
  @@ -16,6 +16,9 @@
   
   /*
    * $Log$
  + * Revision 1.13  2004/10/13 19:23:34  peiyongz
  + * using ValueHashTableOf to reduce footprint
  + *
    * Revision 1.12  2004/09/23 21:22:47  peiyongz
    * Documentation
    * st_noContent added
  @@ -60,7 +63,7 @@
   #define XSVALUE_HPP
   
   #include <xercesc/util/PlatformUtils.hpp>
  -#include <xercesc/util/RefHashTableOf.hpp>
  +#include <xercesc/util/ValueHashTableOf.hpp>
   
   XERCES_CPP_NAMESPACE_BEGIN
   
  @@ -420,7 +423,7 @@
                  ,       MemoryManager* const  manager
                  );
   
  -    static RefHashTableOf<XSValue>*    fDataTypeRegistry;
  +    static ValueHashTableOf<DataType>*    fDataTypeRegistry;
   
       // -----------------------------------------------------------------------
       //  data members
  
  
  
  1.14      +53 -51    xml-xerces/c/src/xercesc/framework/psvi/XSValue.cpp
  
  Index: XSValue.cpp
  ===================================================================
  RCS file: /home/cvs/xml-xerces/c/src/xercesc/framework/psvi/XSValue.cpp,v
  retrieving revision 1.13
  retrieving revision 1.14
  diff -u -r1.13 -r1.14
  --- XSValue.cpp       28 Sep 2004 08:54:34 -0000      1.13
  +++ XSValue.cpp       13 Oct 2004 19:23:34 -0000      1.14
  @@ -16,6 +16,9 @@
   
   /*
    * $Log$
  + * Revision 1.14  2004/10/13 19:23:34  peiyongz
  + * using ValueHashTableOf to reduce footprint
  + *
    * Revision 1.13  2004/09/28 08:54:34  amassari
    * Silence a warning about missing final "return"
    *
  @@ -168,7 +171,7 @@
   static RegularExpression* sXSValueRegEx = 0;
   static XMLRegisterCleanup XSValueRegExCleanup;
   
  -RefHashTableOf<XSValue>*  XSValue::fDataTypeRegistry = 0;
  +ValueHashTableOf<XSValue::DataType>*  XSValue::fDataTypeRegistry = 0;
   static XMLRegisterCleanup XSValueRegistryCleanup;
   
   static XMLMutex& gXSValueMutex()
  @@ -228,52 +231,53 @@
                {
               try {
                   //using the XMLPlatformUtils::fgMemoryManager
  -                fDataTypeRegistry  = new RefHashTableOf<XSValue>(43, true, new 
HashXMLCh() );
  +                fDataTypeRegistry  = new ValueHashTableOf<XSValue::DataType>(47);
  +
  +                fDataTypeRegistry->put((void*) SchemaSymbols::fgDT_STRING,          
   XSValue::dt_string);
  +                fDataTypeRegistry->put((void*) SchemaSymbols::fgDT_BOOLEAN,         
   XSValue::dt_boolean);
  +                fDataTypeRegistry->put((void*) SchemaSymbols::fgDT_DECIMAL,         
   XSValue::dt_decimal);
  +                fDataTypeRegistry->put((void*) SchemaSymbols::fgDT_FLOAT,           
   XSValue::dt_float);
  +                fDataTypeRegistry->put((void*) SchemaSymbols::fgDT_DOUBLE,          
   XSValue::dt_double);
  +                fDataTypeRegistry->put((void*) SchemaSymbols::fgDT_DURATION,        
   XSValue::dt_duration);
  +                fDataTypeRegistry->put((void*) SchemaSymbols::fgDT_DATETIME,        
   XSValue::dt_dateTime);
  +                fDataTypeRegistry->put((void*) SchemaSymbols::fgDT_TIME,            
   XSValue::dt_time);
  +                fDataTypeRegistry->put((void*) SchemaSymbols::fgDT_DATE,            
   XSValue::dt_date);
  +                fDataTypeRegistry->put((void*) SchemaSymbols::fgDT_YEARMONTH,       
   XSValue::dt_gYearMonth);
  +                fDataTypeRegistry->put((void*) SchemaSymbols::fgDT_YEAR,            
   XSValue::dt_gYear);
  +                fDataTypeRegistry->put((void*) SchemaSymbols::fgDT_MONTHDAY,        
   XSValue::dt_gMonthDay);
  +                fDataTypeRegistry->put((void*) SchemaSymbols::fgDT_DAY,             
   XSValue::dt_gDay);
  +                fDataTypeRegistry->put((void*) SchemaSymbols::fgDT_MONTH,           
   XSValue::dt_gMonth);
  +                fDataTypeRegistry->put((void*) SchemaSymbols::fgDT_HEXBINARY,       
   XSValue::dt_hexBinary);
  +                fDataTypeRegistry->put((void*) SchemaSymbols::fgDT_BASE64BINARY,    
   XSValue::dt_base64Binary);
  +                fDataTypeRegistry->put((void*) SchemaSymbols::fgDT_ANYURI,          
   XSValue::dt_anyURI);
  +                fDataTypeRegistry->put((void*) SchemaSymbols::fgDT_QNAME,           
   XSValue::dt_QName);
  +                fDataTypeRegistry->put((void*) XMLUni::fgNotationString,            
   XSValue::dt_NOTATION);
  +                fDataTypeRegistry->put((void*) 
SchemaSymbols::fgDT_NORMALIZEDSTRING,   XSValue::dt_normalizedString);
  +                fDataTypeRegistry->put((void*) SchemaSymbols::fgDT_TOKEN,           
   XSValue::dt_token);
  +                fDataTypeRegistry->put((void*) SchemaSymbols::fgDT_LANGUAGE,        
   XSValue::dt_language);
  +                fDataTypeRegistry->put((void*) XMLUni::fgNmTokenString,             
   XSValue::dt_NMTOKEN);
  +                fDataTypeRegistry->put((void*) XMLUni::fgNmTokensString,            
   XSValue::dt_NMTOKENS);
  +                fDataTypeRegistry->put((void*) SchemaSymbols::fgDT_NAME,            
   XSValue::dt_Name);
  +                fDataTypeRegistry->put((void*) SchemaSymbols::fgDT_NCNAME,          
   XSValue::dt_NCName);
  +                fDataTypeRegistry->put((void*) XMLUni::fgIDString,                  
   XSValue::dt_ID);
  +                fDataTypeRegistry->put((void*) XMLUni::fgIDRefString,               
   XSValue::dt_IDREF);
  +                fDataTypeRegistry->put((void*) XMLUni::fgIDRefsString,              
   XSValue::dt_IDREFS);
  +                fDataTypeRegistry->put((void*) XMLUni::fgEntityString,              
   XSValue::dt_ENTITY);
  +                fDataTypeRegistry->put((void*) XMLUni::fgEntitiesString,            
   XSValue::dt_ENTITIES);
  +                fDataTypeRegistry->put((void*) SchemaSymbols::fgDT_INTEGER,         
   XSValue::dt_integer);
  +                fDataTypeRegistry->put((void*) 
SchemaSymbols::fgDT_NONPOSITIVEINTEGER, XSValue::dt_nonPositiveInteger);
  +                fDataTypeRegistry->put((void*) SchemaSymbols::fgDT_NEGATIVEINTEGER, 
   XSValue::dt_negativeInteger);
  +                fDataTypeRegistry->put((void*) SchemaSymbols::fgDT_LONG,            
   XSValue::dt_long);
  +                fDataTypeRegistry->put((void*) SchemaSymbols::fgDT_INT,             
   XSValue::dt_int);
  +                fDataTypeRegistry->put((void*) SchemaSymbols::fgDT_SHORT,           
   XSValue::dt_short);
  +                fDataTypeRegistry->put((void*) SchemaSymbols::fgDT_BYTE,            
   XSValue::dt_byte);
  +                fDataTypeRegistry->put((void*) 
SchemaSymbols::fgDT_NONNEGATIVEINTEGER, XSValue::dt_nonNegativeInteger);
  +                fDataTypeRegistry->put((void*) SchemaSymbols::fgDT_ULONG,           
   XSValue::dt_unsignedLong);
  +                fDataTypeRegistry->put((void*) SchemaSymbols::fgDT_UINT,            
   XSValue::dt_unsignedInt);
  +                fDataTypeRegistry->put((void*) SchemaSymbols::fgDT_USHORT,          
   XSValue::dt_unsignedShort);
  +                fDataTypeRegistry->put((void*) SchemaSymbols::fgDT_UBYTE,           
   XSValue::dt_unsignedByte);
  +                fDataTypeRegistry->put((void*) SchemaSymbols::fgDT_POSITIVEINTEGER, 
   XSValue::dt_positiveInteger);
   
  -                fDataTypeRegistry->put((void*) SchemaSymbols::fgDT_STRING,          
   new  XSValue(dt_string));
  -                fDataTypeRegistry->put((void*) SchemaSymbols::fgDT_BOOLEAN,         
   new  XSValue(dt_boolean));
  -                fDataTypeRegistry->put((void*) SchemaSymbols::fgDT_DECIMAL,         
   new  XSValue(dt_decimal));
  -                fDataTypeRegistry->put((void*) SchemaSymbols::fgDT_FLOAT,           
   new  XSValue(dt_float));
  -                fDataTypeRegistry->put((void*) SchemaSymbols::fgDT_DOUBLE,          
   new  XSValue(dt_double));
  -                fDataTypeRegistry->put((void*) SchemaSymbols::fgDT_DURATION,        
   new  XSValue(dt_duration));
  -                fDataTypeRegistry->put((void*) SchemaSymbols::fgDT_DATETIME,        
   new  XSValue(dt_dateTime));
  -                fDataTypeRegistry->put((void*) SchemaSymbols::fgDT_TIME,            
   new  XSValue(dt_time));
  -                fDataTypeRegistry->put((void*) SchemaSymbols::fgDT_DATE,            
   new  XSValue(dt_date));
  -                fDataTypeRegistry->put((void*) SchemaSymbols::fgDT_YEARMONTH,       
   new  XSValue(dt_gYearMonth));
  -                fDataTypeRegistry->put((void*) SchemaSymbols::fgDT_YEAR,            
   new  XSValue(dt_gYear));
  -                fDataTypeRegistry->put((void*) SchemaSymbols::fgDT_MONTHDAY,        
   new  XSValue(dt_gMonthDay));
  -                fDataTypeRegistry->put((void*) SchemaSymbols::fgDT_DAY,             
   new  XSValue(dt_gDay));
  -                fDataTypeRegistry->put((void*) SchemaSymbols::fgDT_MONTH,           
   new  XSValue(dt_gMonth));
  -                fDataTypeRegistry->put((void*) SchemaSymbols::fgDT_HEXBINARY,       
   new  XSValue(dt_hexBinary));
  -                fDataTypeRegistry->put((void*) SchemaSymbols::fgDT_BASE64BINARY,    
   new  XSValue(dt_base64Binary));
  -                fDataTypeRegistry->put((void*) SchemaSymbols::fgDT_ANYURI,          
   new  XSValue(dt_anyURI));
  -                fDataTypeRegistry->put((void*) SchemaSymbols::fgDT_QNAME,           
   new  XSValue(dt_QName));
  -                fDataTypeRegistry->put((void*) XMLUni::fgNotationString,            
   new  XSValue(dt_NOTATION));
  -                fDataTypeRegistry->put((void*) 
SchemaSymbols::fgDT_NORMALIZEDSTRING,   new  XSValue(dt_normalizedString));
  -                fDataTypeRegistry->put((void*) SchemaSymbols::fgDT_TOKEN,           
   new  XSValue(dt_token));
  -                fDataTypeRegistry->put((void*) SchemaSymbols::fgDT_LANGUAGE,        
   new  XSValue(dt_language));
  -                fDataTypeRegistry->put((void*) XMLUni::fgNmTokenString,             
   new  XSValue(dt_NMTOKEN));
  -                fDataTypeRegistry->put((void*) XMLUni::fgNmTokensString,            
   new  XSValue(dt_NMTOKENS));
  -                fDataTypeRegistry->put((void*) SchemaSymbols::fgDT_NAME,            
   new  XSValue(dt_Name));
  -                fDataTypeRegistry->put((void*) SchemaSymbols::fgDT_NCNAME,          
   new  XSValue(dt_NCName));
  -                fDataTypeRegistry->put((void*) XMLUni::fgIDString,                  
   new  XSValue(dt_ID));
  -                fDataTypeRegistry->put((void*) XMLUni::fgIDRefString,               
   new  XSValue(dt_IDREF));
  -                fDataTypeRegistry->put((void*) XMLUni::fgIDRefsString,              
   new  XSValue(dt_IDREFS));
  -                fDataTypeRegistry->put((void*) XMLUni::fgEntityString,              
   new  XSValue(dt_ENTITY));
  -                fDataTypeRegistry->put((void*) XMLUni::fgEntitiesString,            
   new  XSValue(dt_ENTITIES));
  -                fDataTypeRegistry->put((void*) SchemaSymbols::fgDT_INTEGER,         
   new  XSValue(dt_integer));
  -                fDataTypeRegistry->put((void*) 
SchemaSymbols::fgDT_NONPOSITIVEINTEGER, new  XSValue(dt_nonPositiveInteger));
  -                fDataTypeRegistry->put((void*) SchemaSymbols::fgDT_NEGATIVEINTEGER, 
   new  XSValue(dt_negativeInteger));
  -                fDataTypeRegistry->put((void*) SchemaSymbols::fgDT_LONG,            
   new  XSValue(dt_long));
  -                fDataTypeRegistry->put((void*) SchemaSymbols::fgDT_INT,             
   new  XSValue(dt_int));
  -                fDataTypeRegistry->put((void*) SchemaSymbols::fgDT_SHORT,           
   new  XSValue(dt_short));
  -                fDataTypeRegistry->put((void*) SchemaSymbols::fgDT_BYTE,            
   new  XSValue(dt_byte));
  -                fDataTypeRegistry->put((void*) 
SchemaSymbols::fgDT_NONNEGATIVEINTEGER, new  XSValue(dt_nonNegativeInteger));
  -                fDataTypeRegistry->put((void*) SchemaSymbols::fgDT_ULONG,           
   new  XSValue(dt_unsignedLong));
  -                fDataTypeRegistry->put((void*) SchemaSymbols::fgDT_UINT,            
   new  XSValue(dt_unsignedInt));
  -                fDataTypeRegistry->put((void*) SchemaSymbols::fgDT_USHORT,          
   new  XSValue(dt_unsignedShort));
  -                fDataTypeRegistry->put((void*) SchemaSymbols::fgDT_UBYTE,           
   new  XSValue(dt_unsignedByte));
  -                fDataTypeRegistry->put((void*) SchemaSymbols::fgDT_POSITIVEINTEGER, 
   new  XSValue(dt_positiveInteger));
   
               }
               catch (...)
  @@ -284,10 +288,8 @@
               XSValueRegistryCleanup.registerCleanup(XSValue::reinitRegistry);
           }
       }
  -
  -    XSValue* data = fDataTypeRegistry->get(dtString);
  -    return data? data->fData.f_datatype : dt_MAXCOUNT;
  -
  +   
  +    return fDataTypeRegistry->containsKey(dtString) ? 
fDataTypeRegistry->get(dtString) : dt_MAXCOUNT;
   }
   
   inline
  
  
  

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to