$Id: History,v 1.22 2000/06/26 16:25:56 gcosmo Exp $
-------------------------------------------------------------------

     =========================================================
     Geant4 - an Object-Oriented Toolkit for Simulation in HEP
     =========================================================

                      Sub-Category History file
                      -------------------------

This file should be used by G4 developers and category coordinators
to briefly summarize all major modifications introduced in the code
and keep track of all category-tags.
It DOES NOT substitute the  CVS log-message one should put at every
committal in the CVS repository !

     ----------------------------------------------------------
     * Reverse chronological order (last date on top), please *
     ----------------------------------------------------------

                         STL Interface
                         -------------

June 26, 00 G.Cosmo (STLInterface-V01-01-01)
- Fixes for problem report #104:
  o defs.h: defined G4RWTHROW(a) to abort() in case G4NO_STD_EXCEPTIONS
    is set.
  o tpsrtvec.icc, tvordvec.icc: corrected implementation of last() in case
    of call to G4RWTHROW(a).
  o cstring.icc: defined function G4String::strcasecompare(a,b) which will
    NOT invoke the non-ANSI function strcasecmp(a,b) when G4USE_STD_NAMESPACE
    is set.
- defs.h:
  o fixed memory leaks in destruction of 'str' in destructors and
    copy-constructors of G4RWGeneralException and G4RWBoundsErr.

March 21, 00 G.Cosmo (STLInterface-V01-01-00)
- Forced initialization of vectors' members also for ordered/sorted
  collections. Even when using the access operator vector::operator[]
  as left-hand operand, it requires the vector to be not empty. Removed
  usage of vector::reserve(capacity).

March 10, 00 G.Cosmo
- Implemented correct behavior for vectors' default constructors, as
  expected by the RW interface.
  o for pointer/value ordered/sorted collections, an EMPTY STL vector is
    created and the vector capacity is set to a G4RWDEFAULT_CAPACITY
    using vector::reserve(capacity). No element initialisation is done.
  o for pointer/value simple collections, a default constructor creating
    and EMPTY vector is implemented; the constructor taking the capacity
    as argument, creates an STL vector of the given capacity and explicitly
    initialises its elements. Pointers are initialised to zero.

February 8, 00 G.Cosmo
- cstring.icc: fixed yet another bug in G4String::toUpper() and
  G4String::toLower(). Loop over the string characters was causing
  bounds overflow.
- tpvector[.h.icc]: added resize(size_t) method which was missing!

January 28, 00 G.Cosmo (STLInterface-V01-00-00)
- Fixed bug in G4String::toUpper().
  (bug was introduced inadvertently on 20-Oct-1999).
- Added checks for bound-overflows in G4RWTPtrSortedVector::find().
- Fixed bound-check for operators () and [] in most collections:
  () access operators DO NOT perform bound-checking (except if G4DEBUG set);
  [] access operators DO perform bound-checking.
- tpvector[.h.icc]: changed 'unsigned int' to 'size_t' in constructors.
  Added 'rwsize' and bound-checking for operator[].
- tvvector.icc: added call to std_vector() in default constructor.
- tpordvec.icc: added std_pvector:: scope for calls to [] operator,
  where missing.
- tvordvec.icc: added std_vector:: scope for calls to [] operator,
  where missing.

November 29, 99 G.Cosmo
- Removed references to g4std/string, now removed since not anymore
  needed.

November 26, 99 G.Cosmo (STLInterface-V00-01-04)
- Backed up inline keyword for simple methods in vectors' classes
  (test comparison with previous tag).
- Reorganised cstring[.h.icc], no functional changes.

November 25, 99 G.Cosmo (STLInterface-V00-01-03)
- STLInterface: changes for ISO/ANSI C++ support:
  o Reorganised method definitions on wrapper classes; made templated
    vectors' methods all not inlined (test). Created .icc files accordingly.
  o Changed #define to typedef for std_string and protected in class
    scope. Introduced std_vector and std_pvector for collections, 
    replaced G4std::vector<T> and G4std::vector<T*> accordingly.
- Added default comment header to files in STLInterface and class
  descriptions for Software Reference Manual.

November 23, 99 G.Cosmo
- Introduced changes to support ISO/ANSI code:
  o Modified STLInterface wrappers to invoke STL containers from G4std
    namespace.
  o Modified #include statements to invoke g4std wrappers.
  o Introduced G4endl and G4cin in G4ios.hh. Modified code accordingly.
- Made destructors for vector wrappers collections in STLInterface virtual.

16th November 1999   Gabriele Cosmo (STLInterface-V00-01-02)
- Includes global migration RWT->G4RWT:
  o Moved all wrapper files from STLInterface/rw to STLInterface/g4rw.
  o Changed RW to G4RW everywhere, except: RWBoolean to G4Bool,
    RWCString to G4String, RWTokenizer to G4Tokenizer.
  o Removed definition of RW_NPOS from defs.h.
- Removed wrappers for Dictionaries: tvhdict.h, tphdict.h, rwstlhash.h.
  Removed also hash_map wrappers.

6th October 1999   Frank Behner (STLInterface-V00-01-01)
- Changed tolower/toupper to old implementation in cstring.h.

4th August 1999   Frank Behner (STLInterface-V00-01-00)
- Implementation of RWCString::hash(const RWCString&).

6th July 1999   Gunter Folger
- name for hash_map for WIN32 is hashmap.h ONLY with Object space; 
  other implementations on WIN32 should use hash_map.h

5th July 1999  Gunter Folger, John Allison (STLInterface-23)
- Added operator= to tpsrtvec and tvvector.

28th June 1999  John Allison (STLInterface-21a)
- Fixed rwsize=N in tvalvec::resize(N) (Gunter).

24th June 1999  John Allison (STLInterface-21)
- Fixed clear problem (which wrongly made STL size 0).
- Added bounds checking.

23rd June 1999  John Allison (STLInterface-20)
- Tagged Frank's fixes to tpordvec re insertAt(0,...) and similar.

20th June 1999  John Allison (STLInterface-18)
- Removed G4RWTPtrHashDictionary(size_t n):fhm(n){}.
- Implemented G4RWTPtrHashDictionary::clearAndDestroy of values *and*
  keys, protecting against duplicate entries.
- Reimplemented G4RWTPtrOrderedVector::clearAndDestroy with vector<T*>
  instead of set<T*>.
- Prevented G4RWTPtrOrderedVector::resize and G4RWTValOrderedVector::resize
  from reducing the size below the number if items.

20th June 1999  John Allison
- Started this file.
