SLAC PEP-II
BABAR
SLAC<->RAL
Babar logo
HEPIC E,S & H Databases PDG HEP preprints
Organization Detector Computing Physics Documentation
Personnel Glossary Sitemap Search Hypernews
Unwrap page!
Comp. Search
Who's who?
Meetings
FAQ Homepage
Archive
Environment
Administration
New User Info.
Web Info/Tools
Monitoring
Training
Tools & Utils
Programming
C++ Standard
SRT, AFS, CVS
QA and QC
Remedy
Histogramming
Operations
PromptReco
Simulation Production
Online SW
Dataflow
Detector Control
Evt Processing
Run Control
Calibration
Databases
Offline
Workbook
Coding Standards
Simulation
Reconstruction
Prompt Reco.
BaBar Grid
Data Distribution
Beta & BetaTools
Kanga & Root
Analysis Tools
RooFit Toolkit
Data Management
Data Quality
Event display
Event Browser
Code releases
Databases
Check this page for HTML 4.01 Transitional compliance with the
W3C Validator
(More checks...)
RW removal page: How to transition to and use the Standard Library

This page serves as a collection of notes and other useful information in the transitionf from using tools.h++ to using the standard library.

General inforamtion about using STL and migrating from RW to STL can be found here.

Online you can find the SGI STL documentation.

The AssocTools package has been extended to support STL base associations. Pleas find here some more descriptions.

There are now two perl scripts to help with the migration of the RW classes.  These are in the package BbrStdUtils (V00-00-10 or newer) and are named replace_RWCString.pl and replace_RWContainers.pl.  Please refer to the top of the scripts for instructions on how to use.  Note that these will not replace methods and some hand editing may still be required.

Below, the tools.h++ classes that are used in BaBar (releases 11.3.0) are listed and a brief summary with the suggested standard library replacement is given. For most classes there are a link to a detailed page that provides more information about the migration.

  Replacement rules common for all RW containers
 
 
Class name Include file Who's working on this class #includes in 11.3.0 Replacement
RWBitVec rw/bitvec.h Gowdy  6
RWbistream rw/bstream.h Ryd 2
RWCollectable rw/collect.h Matthias 10 will be not
RWCollectableInt rw/collint.h Matthias 5 needed anymore when
RWCollectableString rw/collstr.h Matthias 3 STL is used
RWCString rw/cstring.h Asoka 1518 string
RWCTokenizer rw/ctoken.h  Asoka 40 Tokenize
rw/defs.h Asoka 10 not needed anymore.
rw/edefs.h Asoka 17 not needed anymore.
rw/epersist.h Ryd 17
rw/estream.h  Ryd 2
RWHashDictionary rw/hashdict.h Ryd 1
RWHashTable rw/hashtab.h Ryd 1
RWLocale rw/locale.h Gregory 12
RWOrdered rw/ordcltn.h Matthias 6 all are removed
rw/pstream.h Ryd 29
RWCRegexp rw/regexp.h Asoka 62 RegEx
rw/re.h Ryd 2 Now obsolete
rw/rstream.h Ryd 14
RWDate rw/rwdate.h  Gregory 101 BdbTime, POSIX interfaces
rw/rwfile.h  4
rw/rwint.h Ryd 1
RWSet rw/rwset.h Matthias 32 vector or set
rw/rwstore.h 16
RWSortedVector rw/sortvec.h Ryd 4
RWTime rw/rwtime.h Gregory 124 BdbTime, POSIX interfaces
RWTimer rw/timer.h  Ryd 9 CommonUtils/ComTimer.hh
rw/tpdlist.h Ryd 3
RWTPtrHashTable rw/tphasht.h Matthias 6 multiset
RWTPtrHashMap rw/tphdict.h  Matthias 196 map
RWTPtrHashDictionary rw/tphdict.h  Matthias   map
RWTPtrHashSet rw/tphset.h Matthias 14 set
RWTPtrOrderedVector rw/tpordvec.h Ryd 487 vector
RWTPtrSList rw/tpslist.h Matthias 206 list
RWTPtrSortedVector rw/tpsrtvec.h Ryd 99 vector
RWTPtrVector rw/tpvector.h Ryd 136 vector
rw/tvdlist.h Ryd 10
rw/tvhasht.h Ryd 1
RWTValHashMap rw/tvhdict.h Matthias 150 map
RWTValHashSet rw/tvhset.h Matthias 10 set
RWTValOrderedVector rw/tvordvec.h Ryd 578 vector
rw/tvsldict.h Ryd 3
RWTValSList rw/tvslist.h Ryd 29 list
RWTValSortedVector rw/tvsrtvec.h Ryd 142 vector
RWTValVector rw/tvvector.h Ryd 238 vector
rw/vstream.h Ryd 13
rw/xpordvec.h Ryd 1 obsolete
RWTValHashDictionary rw/xvhdict.h Matthias 6 map
rw/zone.h Gregory 37