Tools.h++ Class Reference
Table Of Contents
- Tools.h++ 7.0 Class Reference
- Intoduction
- Class Hierarchy
- RWAuditStreamBuffer
- RWBag
- RWBagIterator
- RWBench
- RWBinaryTree
- RWBinaryTreeIterator
- RWbistream
- RWBitVec
- RWbostream
- RWBTree
- RWBTreeDictionary
- RWBTreeOnDisk
- RWBufferedPageHeap
- RWCacheManager
- RWCLIPstreambuf
- RWCollectable
- RWCollectableAssociation
- RWCollectableDate
- RWCollectableInt
- RWCollectableString
- RWCollectableTime
- RWCollection
- RWCRegexp
- RWCRExpr
- RWCString
- RWCSubString
- RWCTokenizer
- RWDate
- RWDDEstreambuf
- RWDiskPageHeap
- RWDlistCollectables
- RWDlistCollectablesIterator
- RWeistream
- RWeostream
- RWFactory
- RWFile
- RWFileManager
- RWGBitVec(size)
- RWGDlist(type)
- RWGDlistIterator(type)
- RWGOrderedVector(val)
- RWGQueue(type)
- RWGSlist(type)
- RWGSlistIterator(type)
- RWGSortedVector(val)
- RWGStack(type)
- RWGVector(val)
- RWHashDictionary
- RWHashDictionaryIterator
- rw_hashmap
- rw_hashmultimap
- rw_hashmultiset
- rw_hashset
- RWHashTable
- RWHashTableIterator
- RWIdentityDictionary
- RWIdentitySet
- RWInteger
- RWIterator
- RWLocale
- RWLocaleSnapshot
- RWModel
- RWModelClient
- RWOrdered
- RWOrderedIterator
- RWpistream
- RWpostream
- RWSequenceable
- RWSet
- RWSetIterator
- rw_slist
- RWSlistCollectables
- RWSlistCollectablesIterator
- RWSlistCollectablesQueue
- RWSlistCollectablesStack
- RWSortedVector
- RWTBitVec
- RWTime
- RWTimer
- RWTIsvDlist
- RWTIsvDlistIterator
- RWTIsvSlist
- RWTIsvSlistIterator
- RWTPtrDeque
- RWTPtrDlist
- RWTPtrDlistIterator
- RWTPtrHashDictionary
- RWTPtrHashDictionaryIterator
- RWTPtrHashMap
- RWTPtrHashMapIterator
- RWTPtrHashMultiMap
- RWTPtrHashMultiMapIterator
- RWTPtrHashSet
- RWTPtrHashMultiSetIterator
- RWTPtrHashSetIterator
- RWTPtrHashTable
- RWTPtrHashTableIterator
- RWTPtrMap
- RWTPtrMapIterator
- RWTPtrMultiMap
- RWTPtrMultiMapIterator
- RWTPtrMultiSet
- RWTPtrMultiSetIterator
- RWTPtrOrderedVector
- RWTPtrSet
- RWTPtrSetIterator
- RWTPtrSlist
- RWTPtrSlistIterator
- RWTPtrSortedDlist
- RWTPtrSortedDlistIterator
- RWTPtrSortedVector
- RWTPtrVector
- RWTQueue
- RWTStack
- RWTValDeque
- RWTValDlist
- RWTValDlistIterator
- RWTValHashDictionary
- RWTValHashDictionaryIterator
- RWTValHashMap
- RWTValHashMapIterator
- RWTValHashMultiMap
- RWTValHashMultiMapIterator
- RWTValHashMultiSet
- RWTValHashMultiSetIterator
- RWTValHashSet
- RWTValHashSetIterator
- RWTValHashTable
- RWTValHashTableIterator
- RWTValMap
- RWTValMapIterator
- RWTValMultiMap
- RWTValMultiMapIterator
- RWTValMultiSet
- RWTValMultiSetIterator
- RWTValOrderedVector
- RWTValSet
- RWTValSetIterator
- RWTValSlist
- RWTValSlistIterator
- RWTValSortedDlist
- RWTValSortedDlistIterator
- RWTValSortedVector
- RWTValVector
- RWTValVirtualArray
- RWVirtualPageHeap
- RWvios
- RWvistream
- RWvostream
- RWWString
- RWWSubString
- RWWTokenizer
- RWXDRistream (Unix only)
- RWXDRostream (Unix only)
- RWZone
- RWZoneSimple
- Tools.h++ 7.0 Class Reference Appendix
- RWTPtrDlist
- RWTPtrDlistIterator
- RWTPtrHashDictionary
- RWTPtrHashDictionaryIterator
- RWTPtrHashSet
- RWTPtrHashTable
- RWTPtrHashTableIterator
- RWTPtrOrderedVector
- RWTPtrSlist
- RWTPtrSlistIterator
- RWTPtrSortedVector
- RWTValDlist
- RWTValDlistIterator
- RWTValHashDictionary
- RWTValHashDictionaryIterator
- RWTValHashSet
- RWTValHashTable
- RWTValHashTableIterator
- RWTValOrderedVector
- RWTValSlist
- RWTValSlistIterator
- RWTValSortedVector
- RWTPtrDlist
- Rogue Wave Licensing Statement
TestBrute() { }
virtual void doLoop(unsigned long n);
virtual void idleLoop(unsigned long n);
virtual void what(ostream& s) const
{ s << "Brute force string search: \n"; }
};
class TestRW : public RWBench {
public:
TestRW() { }
virtual void doLoop(unsigned long n);
virtual void idleLoop(unsigned long n);
virtual void what(ostream& s) const
{ s << "Rogue Wave search: \n"; }
};
main(int argc, char* argv[]){
cout << "Testing string \n\"" << cs << "\"\n";
// Test brute force string search algorithm:
TestBrute other;
other.parse(argc, argv);
other.go();
other.report(cout);
// Test RW searching w/regular expressions:
TestRW rw;
rw.parse(argc, argv);
rw.go();
rw.report(cout);
return 0;
}
void TestBrute::doLoop(unsigned long n){
RWCString string(cs);
RWCTokenizer *tokener;
RWCString token;
tokener = new RWCTokenizer(string);
while(n--){
if((token = (*tokener)()).isNull())
{
delete tokener;
tokener = new RWCTokenizer(string);
token = (*tokener)();
}
size_t j = 0;
for(size_t i = 0; i < string.length() && j != token.length();
i++)
{
j = 0;
while((j < token.length()) && (string[i+j]==token[j]))