|
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 |
|
|
|
|
|
|
|