Essential Tools Module

The Essential Tools Module requires the selection of a version for Snappy and an RWCString (and associated RWWString) implementation. In addition, two macros may be set governing whether to enforce the use of four-digit years and to override the default RWZone class settings with system settings.

Snappy Version

Choose a version for the Google Snappy data compression library.

RWCString and RWWString Implementation

This is an advanced question visible only when the Show advanced questions box is selected on the Options dialog’s Advanced Options tab.

The Essential Tools Module provides two implementations of RWCString and RWWString: RWStandardCString based on std::string and RWCopyOnWriteCString built using the Copy-on-Write idiom. Your selection should be governed by the requirements of your applications, as described here.

The default is to use RWStandardCString (with RWStandardWString). RWCString and RWWString respectively become aliases for the selected classes.

For more information, see Performance Considerations in the Essential Tools Module.

Requiring Four-Digit Years

This macro question is visible only only when the Show advanced questions box is selected on the Options dialog’s Advanced Options tab.

Enabling the RW_CENTURY_REQD macro causes a debug assertion in debug mode or an exception in release mode if a non-four-digit year is entered. This is useful mainly for debugging. The default setting is no.