Diff for /parser3/src/main/pa_pool.C between versions 1.21 and 1.46

version 1.21, 2001/09/15 13:20:22 version 1.46, 2001/12/15 21:28:21
Line 2 Line 2
         Parser: pool class.          Parser: pool class.
   
         Copyright (c) 2001 ArtLebedev Group (http://www.artlebedev.com)          Copyright (c) 2001 ArtLebedev Group (http://www.artlebedev.com)
           Author: Alexander Petrosyan <paf@design.ru> (http://paf.design.ru)
   
         Author: Alexander Petrosyan <paf@design.ru> (http://design.ru/paf)          $Id$
 */  */
 static const char *RCSId="$Id$";   
   
 #include "pa_pool.h"  #include "pa_pool.h"
 #include "pa_exception.h"  #include "pa_exception.h"
   #include "pa_common.h"
   #include "pa_sapi.h"
   #include "pa_charset.h"
   
   #ifdef XML
   #include <util/PlatformUtils.hpp>
   #endif
   
   Pool::Pool(void *astorage) : 
           fstorage(astorage), fcontext(0)
           ftotal_allocated(0), ftotal_times(0),
           source_charset(0), client_charset(0)
           {
   }
   
 void Pool::fail_alloc(size_t size) const {  void Pool::fail_alloc(size_t size) const {
         fexception->_throw(0, 0,          SAPI::die("out of pool memory: failed to allocate %u bytes; "
                 0,                  "already allocated on pool: %u bytes in %u times", 
                 "failed to allocate %u bytes", size);                  size, 
                   ftotal_allocated, ftotal_times);
 }  }
   
 void Pool::fail_register_cleanup() const {  void Pool::fail_register_cleanup() const {
         fexception->_throw(0, 0,  
                 0,  
                 "failed to register cleanup");  
 }  
   
           SAPI::die("failed to register cleanup");
   }
   
   void Pool::set_source_charset(Charset& acharset) { 
           source_charset=&acharset; 
   }
   Charset& Pool::get_source_charset() { 
           if(!source_charset)
                   throw Exception(0, 0,
                           0,
                           "no source charset defined yet");
           return *source_charset; 
   }
   
   void Pool::set_client_charset(Charset& acharset) { 
           client_charset=&acharset; 
   }
   Charset& Pool::get_client_charset() { 
           if(!client_charset)
                   throw Exception(0, 0,
                           0,
                           "no client charset defined yet");
           return *client_charset; 
   }
   
   #ifdef XML
   
   const char *Pool::transcode_cstr(const XalanDOMString& s) { 
           return get_source_charset().transcode_cstr(s); 
   }
   
   String& Pool::transcode(const XalanDOMString& s) { 
           return get_source_charset().transcode(s); 
   }
   
   std::auto_ptr<XalanDOMString> Pool::transcode(const String& s) {
           return get_source_charset().transcode(s); 
   }
   
   
   #endif

Removed from v.1.21  
changed lines
  Added in v.1.46


E-mail: