Rogue Wave banner
Previous fileTop of DocumentContentsIndex pageNext file
Essential Tools Module User's Guide

D.2 From SourcePro Core 8.5 to 9.0

D.2.1 General Changes

In this release, the Essential Tools Module includes enhancements that give you more power and flexibility to internationalize and localize your applications. Other primary enhancements include the addition of const iterators, custom allocators, and an expanded discussion on using the error reporting classes.

In addition, the classes previously documented in the Alternative Interface Reference section are now deprecated. See Section D.2.2.7.

D.2.2 Specific Changes

D.2.2.1 Enhanced and new Regular Expression Capabilities

The new template class RWTRegex<T> expands SourcePro's support for simple and extended regular expression searches. Using RWTRegex<T> gives you access to wchar_t support, {m,n} cardinality constraint ability, and improved performance. RWTRegex<T> is based on the POSIX.2 standard for regular expressions. POSIX.2 includes notations for basic regular expressions (BREs) and extended regular expressions (EREs). RWTRegex<T> is based on the ERE standard to support the wide character searches required by many non-Latin languages.

This new regular expressions functionality is contained in a number of new classes, as follows:

D.2.2.2 RWBasicUString

RWBasicUString stores Unicode strings and performs simple conversions between UTF-8 and UTF-16, allowing you to handle different locales under program control, including multiple locales at the same time, or in different threads.

D.2.2.3 Support for ISO 8601 in RWDateTime

International Standard ISO 8601 specifies numeric representations of date and time. RWDateTime now supports this standard, allowing you to construct from any string an ISO 8601-formatted date and time.

D.2.2.4 Const Iterators

The Tools library now provides a const version of every traditional iterator. Const iterators have the same capabilities as traditional iterators, but maintain const correctness by disallowing the modification of a container via that iterator.

D.2.2.5 Custom Allocators

All STL and STL extension-based classes and class templates now accept an additional template allocator argument. The additional argument defaults to the C++ Standard Library allocator for source compatibility. Custom allocators allow you to fine-tune memory management in your application.

D.2.2.6 Expanded Error Reporting Discussion

Chapter 10, "Error Handling and Reporting,", previously titled "Error Handling," now includes a comprehensive discussion on error reporting with a more detailed exception architecture, as well as an expanded discussion on using the error reporting classes to handle errors.

D.2.2.7 Deprecated Classes

The following classes previously documented in the Alternative Interface Reference section are now deprecated.

Each class has an equivalent class in the Essential Tools Module that is Standard C++ Library compatible. The deprecated classes and their equivalents are listed in Table 36.

Table 36: Deprecated Classes 

Deprecated Class Equivalent class supported by
Standard C++ Library

RWTPtrDlist<T>

RWTPtrDlist<T,A>

RWTPtrDlistIterator<T>

RWTPtrDlistIterator<T,A>

RWTPtrHashSet<T>

RWTPtrHashSet<T,H,EQ,A>

RWTPtrHashSetIterator<T>

RWTPtrHashSetIterator<T,H,EQ,A>

RWTPtrOrderedVector<T>

RWTPtrOrderedVector<T,A>

RWTPtrSlist<T>

RWTPtrSlist<T,A>

RWTPtrSlistIterator<T>

RWTPtrSlistIterator<T,A>

RWTPtrSortedVector<T>

RWTPtrSortedVector<T,C,A>

RWTValDlist<T>

RWTValDlist<T,A>

RWTValDlistIterator<T>

RWTValDlistIterator<T,A>

RWTValHashSet<T>

RWTValHashSet<T,H,EQ,A>

RWTValHashSetIterator<T>

RWTValHashSetIterator<T,H,EQ,A>

RWTValOrderedVector<T>

RWTValOrderedVector<T,A>

RWTValSlist<T>

RWTValSlist<T,A>

RWTValSlistIterator<T>

RWTValSlistIterator<T,A>

RWTValSortedVector<T>

RWTValSortedVector<T,C,A>



Previous fileTop of DocumentContentsIndex pageNext file

©2004 Copyright Quovadx, Inc. All Rights Reserved.
Rogue Wave and SourcePro are registered trademarks of Quovadx, Inc. in the United States and other countries. All other trademarks are the property of their respective owners.
Contact Rogue Wave about documentation or support issues.